aSheet[0].cssText += aCssText.join(”); }
上面僅僅是一個簡單的粗糙的解決方案,可以改進(jìn)的地方還有:
1、沒有考慮media這個屬性,如果有多個media應(yīng)該分別合并,當(dāng)然更沒有考慮link標(biāo)記的rel="alternate stylesheet"帶來的影響。但我更建議通過@media指令把相應(yīng)的樣式寫在同一個文件中,至少可以減少HTTP連接數(shù)。
2、沒有解決@import指令31次限制的問題,其實可以提取其href值然后進(jìn)行激活處理。但是實際應(yīng)用在建議用link標(biāo)記來替代@import指令,應(yīng)為在IE中@import指令相當(dāng)與把link標(biāo)記寫在文檔的底部。
3、一般來講頁面之所有出現(xiàn)大量的link或者style標(biāo)簽很可能有很多是相同的,可以在aCssText合并前除掉相同的項,減少代碼量。
|