(function(){ 'use strict'; window.preloadFill.add('style', function(link, iframeDocument, iframeWindow, callback){ var timer; var sheets = document.styleSheets; var preload = iframeDocument.createElement('link'); var clear = function(){ clearInterval(timer); preload.onload = null; preload.onerror = null; iframeDocument.documentElement.removeChild(preload); }; var onload = function(){ clear(); callback('load'); }; preload.href = link.href; preload.rel = 'stylesheet'; iframeDocument.documentElement.appendChild(preload); timer = setInterval(function(){ var resolvedHref = preload.href; var i = sheets.length; while( i-- ){ if( sheets[ i ].href == resolvedHref ){ onload(); break; } } }, 20); preload.onload = onload; preload.onerror = function(){ clear(); callback('error'); }; }); })();