forked from guybedford/require-css
-
Notifications
You must be signed in to change notification settings - Fork 1
/
css.min.js
1 lines (1 loc) · 2.31 KB
/
css.min.js
1
define(function(){if(typeof window=="undefined")return{load:function(n,r,load){load()}};var head=document.getElementsByTagName("head")[0];var engine=window.navigator.userAgent.match(/Trident\/([^ ;]*)|AppleWebKit\/([^ ;]*)|Opera\/([^ ;]*)|rv\:([^ ;]*)(.*?)Gecko\/([^ ;]*)|MSIE\s([^ ;]*)|AndroidWebKit\/([^ ;]*)/)||0;var useImportLoad=false;var processCss=typeof respond!=="undefined"&&respond.process;var useOnload=true;if(engine[1]||engine[7])useImportLoad=parseInt(engine[1])<6||parseInt(engine[7])<=9;else if(engine[2]||engine[8])useOnload=false;else if(engine[4])useImportLoad=parseInt(engine[4])<18;if(processCss){useImportLoad=false}var cssAPI={};cssAPI.pluginBuilder="./css-builder";var curStyle,curSheet;var createStyle=function(){curStyle=document.createElement("style");head.appendChild(curStyle);curSheet=curStyle.styleSheet||curStyle.sheet};var ieCnt=0;var ieLoads=[];var ieCurCallback;var createIeLoad=function(url){curSheet.addImport(url);curStyle.onload=function(){processIeLoad()};ieCnt++;if(ieCnt==31){createStyle();ieCnt=0}};var processIeLoad=function(){ieCurCallback();var nextLoad=ieLoads.shift();if(!nextLoad){ieCurCallback=null;return}ieCurCallback=nextLoad[1];createIeLoad(nextLoad[0])};var importLoad=function(url,callback){if(!curSheet||!curSheet.addImport)createStyle();if(curSheet&&curSheet.addImport){if(ieCurCallback){ieLoads.push([url,callback])}else{createIeLoad(url);ieCurCallback=callback}}else{curStyle.textContent='@import "'+url+'";';var loadInterval=setInterval(function(){try{curStyle.sheet.cssRules;clearInterval(loadInterval);callback()}catch(e){}},10)}};var linkLoad=function(url,callback){var link=document.createElement("link");link.type="text/css";link.rel="stylesheet";if(useOnload)link.onload=function(){link.onload=function(){};processCss&&processCss(link);setTimeout(callback,7)};else var loadInterval=setInterval(function(){for(var i=0;i<document.styleSheets.length;i++){var sheet=document.styleSheets[i];if(sheet.href==link.href){processCss&&processCss(link);clearInterval(loadInterval);return callback()}}},10);link.href=url;head.appendChild(link)};cssAPI.normalize=function(name,normalize){if(name.substr(name.length-4,4)==".css")name=name.substr(0,name.length-4);return normalize(name)};cssAPI.load=function(cssId,req,load,config){(useImportLoad?importLoad:linkLoad)(req.toUrl(cssId+".css"),load)};return cssAPI});