Skip to content

Commit 659bf74

Browse files
committed
Merge pull request #2233 from levithomason/feature/reload-stylesheets
Method to scan for and register stylesheets
2 parents 3166564 + 0e821f1 commit 659bf74

File tree

1 file changed

+19
-10
lines changed

1 file changed

+19
-10
lines changed

lib/less-browser/index.js

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -223,16 +223,21 @@ if (/!watch/.test(location.hash)) {
223223
//
224224
// Get all <link> tags with the 'rel' attribute set to "stylesheet/less"
225225
//
226-
var links = document.getElementsByTagName('link');
227-
228-
less.sheets = [];
226+
less.registerStylesheets = function() {
227+
return new PromiseConstructor(function(resolve, reject) {
228+
var links = document.getElementsByTagName('link');
229+
less.sheets = [];
230+
231+
for (var i = 0; i < links.length; i++) {
232+
if (links[i].rel === 'stylesheet/less' || (links[i].rel.match(/stylesheet/) &&
233+
(links[i].type.match(typePattern)))) {
234+
less.sheets.push(links[i]);
235+
}
236+
}
229237

230-
for (var i = 0; i < links.length; i++) {
231-
if (links[i].rel === 'stylesheet/less' || (links[i].rel.match(/stylesheet/) &&
232-
(links[i].type.match(typePattern)))) {
233-
less.sheets.push(links[i]);
234-
}
235-
}
238+
resolve();
239+
});
240+
};
236241

237242
//
238243
// With this function, it's possible to alter variables and re-render
@@ -282,4 +287,8 @@ less.refresh = function (reload, modifyVars) {
282287

283288
less.refreshStyles = loadStyles;
284289

285-
less.refresh(less.env === 'development');
290+
less.registerStylesheets().then(
291+
function () {
292+
less.refresh(less.env === 'development');
293+
}
294+
);

0 commit comments

Comments
 (0)