我正在使用Cookie来查明用户是处于亮模式还是暗模式。如果找不到cookie,我总是将light.less用作后备/默认值。所以<head>我有<link rel="stylesheet" type="text/css" href="../assets/main.css"><link rel="stylesheet/less" type="text/css" id="colorMode" href="../assets/light.less"><script src="../assets/less.js/dist/less.min.js" type="text/javascript"></script>我的身体标签如下:<body onload="checkNav(); checkCookies();" onresize="checkNav()">该checkCookies()是检讨的cookie,因此,它显示在下面执行的功能。function checkCookies() {var style = getCookie("style");if (style == 'dark') { document.getElementById("colorMode").href = "../assets/dark.less"; document.getElementById("switchIcon").innerHTML = "toggle_on"; document.cookie = "style=dark; path=/~sam.walker";} else { //Already set by default }}该getCookie()函数仅返回相关的样式cookiecolorMode带有href =的样式表../assets/light.less确实../assets/dark.less按我与检查器检查过的方式进行了更改,但是样式本身并未发生物理变化。我已经检查了缓存,与缓存无关。任何帮助将不胜感激。
3 回答
qq_遁去的一_1
TA贡献1725条经验 获得超7个赞
.less
除非您<script src="less.js" type="text/javascript"></script>
在<head>
页面的部分中添加了样式表,否则将其包含为格式是行不通的。
四季花海
TA贡献1811条经验 获得超5个赞
通过你的信息,我发现以下(糟蹋)修复:
var elem = document.getElementById('NameOfOriginalLessGeneratedStyle'); //REQUIRES CHANGE ON SERVER CHANGE
elem.parentNode.removeChild(elem);
//Deleted previous styles
less.refresh();
//Loads new style
应在样式表href更改后运行。
添加回答
举报
0/150
提交
取消