123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- /**
- * Kicks off less and compiles any stylesheets
- * used in the browser distributed version of less
- * to kick-start less using the browser api
- */
- /*global window, document */
- // shim Promise if required
- require('promise/polyfill.js');
- var options = window.less || {};
- require("./add-default-options")(window, options);
- var less = module.exports = require("./index")(window, options);
- window.less = less;
- var css, head, style;
- // Always restore page visibility
- function resolveOrReject(data) {
- if (data.filename) {
- console.warn(data);
- }
- if (!options.async) {
- head.removeChild(style);
- }
- }
- if (options.onReady) {
- if (/!watch/.test(window.location.hash)) {
- less.watch();
- }
- // Simulate synchronous stylesheet loading by blocking page rendering
- if (!options.async) {
- css = 'body { display: none !important }';
- head = document.head || document.getElementsByTagName('head')[0];
- style = document.createElement('style');
- style.type = 'text/css';
- if (style.styleSheet) {
- style.styleSheet.cssText = css;
- } else {
- style.appendChild(document.createTextNode(css));
- }
- head.appendChild(style);
- }
- less.registerStylesheetsImmediately();
- less.pageLoadFinished = less.refresh(less.env === 'development').then(resolveOrReject, resolveOrReject);
- }
|