CSS Background Cash

12:39 15.02.2013

CSS Background Cash

Иногда можно представить, что если бы браузер выгружал все картинки из CSS на страницу, то пришлось бы писать такие костыли для скорости :)

var cssHash={};
var cssHashLength=0;
var obj=document.styleSheets;
for(var i=0,il=obj.length; il>i; i++){
var i_obj=obj[i].cssRules;
for(var j=0,ij=i_obj.length; ij>j; j++){
var j_obj=i_obj[j];
var bg_text=j_obj.style.backgroundImage;
if( bg_text != null && /^url/.test(bg_text) && !/::/.test(j_obj.selectorText) ){
cssHash[j_obj.selectorText]={bg_text:bg_text,obj_style:j_obj.style};
j_obj.style.backgroundImage=null;
cssHashLength++;
}
}
}
console.log(cssHashLength);
$(function(){
var cssAtPage=0;
for(var i in cssHash){
if ( !cssHash.hasOwnProperty(i) ){ break; }
var obj=$(i);
if ( obj!=null && obj.length>0 ){
cssHash[i].obj_style.backgroundImage = cssHash[i].bg_text;
//console.log(cssAtPage, cssHash[i], i, obj.length);
cssAtPage++;
}
}
console.log(cssHashLength, cssAtPage, 'win:',cssHashLength-cssAtPage);
});

комментарии

категория: 7

 
Добавить свой комментарий

 

 

 

 

 

Всего материалов: 558, комментариев: 1253.