Мне интересно, есть ли способ загрузить один лист меньше после загрузки страницы. На этот вопрос есть ответ, в котором объясняется, как перезагрузить все листы, но для моего варианта использования существующие листы никогда не имеют зависимостей от вновь загруженных листов, и было бы хорошо просто добавить листы. Я думаю что-то вроде
less.sheets.push(mySheet);
less.loadStyleSheet(mySheet);
может представлять возможный API? Cheers,
Colin
ОБНОВЛЕНИЕ 3 декабря 2010 г .:
Я опробовал исправление Livingston Samuel для кодовой базы less.js, и, хотя оно работает, оно не распознает определения в уже загруженных таблицах стилей. Вот мои примеры файлов
а. index.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>
б. style.less
@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;
}
}
с. style2.less
#abc {
background: @primary_color;
.rounded(10px);
div {
margin: 2px;
color: blue;
}
}
Итак, вторая таблица стилей загружается лениво, но в style2.less
есть следующая ошибка анализа
". Округлено не определено"
.ounded определяется style.less, и, поскольку я не выгружал этот лист, я подумал, что он все еще должен быть доступен для компилятора в текущей среде.
Другими словами, мы не хотим начинать заново или выгружать существующие определения, а опираемся на уже загруженные стили. Спасибо,
Colin