diff --git a/lib/less-browser/index.js b/lib/less-browser/index.js index 1157d363..e5219c26 100644 --- a/lib/less-browser/index.js +++ b/lib/less-browser/index.js @@ -223,16 +223,21 @@ if (/!watch/.test(location.hash)) { // // Get all tags with the 'rel' attribute set to "stylesheet/less" // -var links = document.getElementsByTagName('link'); +less.registerStylesheets = function() { + return new PromiseConstructor(function(resolve, reject) { + var links = document.getElementsByTagName('link'); + less.sheets = []; -less.sheets = []; + for (var i = 0; i < links.length; i++) { + if (links[i].rel === 'stylesheet/less' || (links[i].rel.match(/stylesheet/) && + (links[i].type.match(typePattern)))) { + less.sheets.push(links[i]); + } + } -for (var i = 0; i < links.length; i++) { - if (links[i].rel === 'stylesheet/less' || (links[i].rel.match(/stylesheet/) && - (links[i].type.match(typePattern)))) { - less.sheets.push(links[i]); - } -} + resolve(); + }); +}; // // With this function, it's possible to alter variables and re-render @@ -282,4 +287,8 @@ less.refresh = function (reload, modifyVars) { less.refreshStyles = loadStyles; -less.refresh(less.env === 'development'); +less.registerStylesheets().then( + function () { + less.refresh(less.env === 'development'); + } +);