通过JS为.less样式表设置href

我正在使用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()函数仅返回相关的样式cookie


colorMode带有href =的样式表../assets/light.less确实../assets/dark.less按我与检查器检查过的方式进行了更改,但是样式本身并未发生物理变化。我已经检查了缓存,与缓存无关。任何帮助将不胜感激。


慕姐4208626
浏览 199回答 3
3回答

qq_遁去的一_1

.less除非您<script src="less.js" type="text/javascript"></script>在<head>页面的部分中添加了样式表,否则将其包含为格式是行不通的。

四季花海

通过你的信息,我发现以下(糟蹋)修复:var elem = document.getElementById('NameOfOriginalLessGeneratedStyle'); //REQUIRES CHANGE ON SERVER CHANGEelem.parentNode.removeChild(elem);//Deleted previous stylesless.refresh();//Loads new style应在样式表href更改后运行。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript