Javascript 基于url动态导入.less文件
我有一个Javascript 基于url动态导入.less文件,javascript,Javascript,我有一个main.less文件,其中我有两个文件,我想根据url加载其中一个,例如: if url contain value=abc @import 'test1.less'; if url contain value=xyz @import 'test2.less'; 我只使用Javascript,没有JQuery 提前感谢。预编译较少您建议在运行时运行一些代码来更改预编译代码,这是不可能的,除非您在生产环境中使用it客户端,这将导致性能差和潜在的可靠性问题请参阅 我建议您将编译后的CSS
main.less
文件,其中我有两个文件,我想根据url加载其中一个,例如:
if url contain value=abc
@import 'test1.less';
if url contain value=xyz
@import 'test2.less';
我只使用Javascript,没有JQuery
提前感谢。预编译较少您建议在运行时运行一些代码来更改预编译代码,这是不可能的,除非您在生产环境中使用it客户端,这将导致性能差和潜在的可靠性问题请参阅 我建议您将编译后的CSS文件与以下内容一起使用:
var = cssURL;
if(window.location.href =="www.someurl.com/home"){
cssURL = "style1.css";
}else{
cssURL = "style2.css";
}
var head = document.head, link = document.createElement('link')
link.type = 'text/css';
link.rel = 'stylesheet';
link.href = cssURL;
head.appendChild(link);
但如果您使用较少的客户端,只需更改
link.rel = 'stylesheet/less';
你没有预编译你的Less吗?如果在生产环境中客户端使用较少的文件,那就太糟糕了
Thanks for ur help....I found a rather much better way...add a class to body tag and make these entries in main less file
.class1 {
@import 'test1.less';
}
.class2 {
@import 'test2.less';}
and then identify ur url and change class name
document.getElementsByTagName("body")[0].className="class2"
thats it