javascript - 如何使用 javascript 永久更改我网站中的 css 文件?

标签 javascript css

我正在尝试向我的网站添加亮/暗样式功能。 我编写了一个代码,在单击按钮时在两个样式表之间切换,但每当我转到不同的路径时,样式都会返回到常规样式。

Javascript:

 function swapStyleSheet(sheet){
        document.getElementById('pageStyle').setAttribute('href', sheet);
    }

HTML:

 <link rel="stylesheet"  href="/stylesheets/light.css" id="pageStyle">
    <body>
    <li><a id="navLinks" onclick="swapStyleSheet('/stylesheets/light.css')">Light Style!</a></li>
            <li><a id="navLinks" onclick="swapStyleSheet('/stylesheets/main.css')">Dark Style!</a></li>
    </body>

最佳答案

您可以使用 Web Storage API 来做到这一点.

这类似于使用 cookie,但数据存储在浏览器中而不是服务器上。所有现代浏览器都支持。

JS:

function swapStyleSheet(sheet){
    document.getElementById('pageStyle').setAttribute('href', sheet);

    window.localStorage.setItem("pageStyle", sheet);
}

window.onload = function() {
    swapStyleSheet(window.localStorage.getItem("pageStyle"));
}

HTML:

<li><a id="navLinks" onclick="swapStyleSheet('/stylesheets/light.css')">Light Style!</a></li>
<li><a id="navLinks" onclick="swapStyleSheet('/stylesheets/main.css')">Dark Style!</a></li>

关于javascript - 如何使用 javascript 永久更改我网站中的 css 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57994886/

相关文章:

javascript - Controller 中的 $scope 在 View 中不可访问/数据绑定(bind)不起作用(IONIC/ANGULAR)

javascript - 使用 jquery 拖放(一个工具箱和一个报告窗口)

javascript - 使用 Vanilla Javascript 切换复选框显示/隐藏两个 DIV 元素

javascript - 单击导航栏外部时如何关闭折叠栏?

html - 响应式网站 - 在 CSS 中定义移动

javascript - 如何返回 array.reduce 中的对象?

javascript - 如何仅在 Chart.Js 2.8.0 中的弧形内显示文本?

html - 为什么 CSS 样式在 Chrome 开发者工具中显示为灰色?

javascript - 我似乎无法理解这一行代码的含义(JavaScript)

javascript - 带 TS 的 Angular 2 ES5 滤镜