我想知道是否有办法在页面加载后的某个时间加载一张更少的表格。 这个问题有一个解释如何重新加载所有工作表的答案,但对于我的用例,现有工作表永远不会依赖于新加载的工作表,最好只是懒惰地添加工作表。我在想类似的东西
less.sheets.push(mySheet);
less.loadStyleSheet(mySheet);
可能代表一个可能的 API?干杯,
科林
2010 年 12 月 3 日更新:
我已经尝试了 Livingston Samuel 对 less.js 代码库的修复,虽然它确实有效,但它似乎无法识别已加载样式表中的定义。这是我的示例文件
一个。索引.html
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Simple</title>
<link rel="stylesheet/less" href="/static/less/style.less" id="abc123"/>
<script src="/static/js/less-1.0.40.js"></script>
</head>
<body>
<div id="container">
<div>Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet.</div>
</div>
<div id="abc"><div>Bingo</div></div>
</body>
<script>
console.log("loading new sheet");
less.loadStyleSheet("/static/less/style2.less", function() {
console.log("Loaded!");
});
console.log("called");
</script>
</html>
湾。无风格
@primary_color: green;
.rounded(@radius: 5px) {
-moz-border-radius: @radius;
-webkit-border-radius: @radius;
border-radius: @radius;
}
#container {
background: @primary_color;
.rounded(5px);
div {
color: red;
}
}
C。style2.less
#abc {
background: @primary_color;
.rounded(10px);
div {
margin: 2px;
color: blue;
}
}
所以第二个样式表确实延迟加载,但在 style2.less 中有以下解析错误
“.rounded 未定义”
.rounded 被定义为 style.less,并且由于我没有卸载该工作表,我认为它应该在当前环境中仍然可供编译器使用。
换句话说,我们不想重新开始,或者卸载现有的定义,而是建立在已经加载的样式之上。谢谢,
科林