我目前正在對自然而然PIE附件插件。
它通過的indexOf遍歷所有文檔CSS樣式表,對CSS3屬性的檢查,然後調用PIE附上情況下,它開創任何當前選擇的方法。
主循環是這樣的:PIE.js低性能
for (var j = 0, length2 = styleSheet.rules.length; j < length2; j++) {
rule = styleSheet.rules[j];
// the replacedProperties is a simple array
// with string values for css properties - border-radius and so on
$.each(replacedProperties, function(index, property) {
if (rule.style.cssText.indexOf(property) !== -1) {
try {
$(rule.selectorText).each(function() {
PIE.attach(this);
});
} catch(e) { }
return false;
}
}
});
}
這實際上是相當緩慢的,跑起來在IE8和IE7一個CSS3重型頁面上2秒。
問題是,我可以以某種方式改善此循環的性能嗎?
PIE.js實際上會優化重複附件,因此檢查PIE是否連接將不會執行任何操作。
而到$ .fn.detach標準支隊技術可悲的是不與PIE工作(雖然我還沒有嘗試過的香草版)。
我會非常感謝任何答案。
你爲什麼要這麼做? PIE自動執行。我更喜歡'pie.htc',這隻能在IE中觸發,並沒有其他瀏覽器的附加請求。 – Christoph
但它只附帶PIE.attach,不是嗎? – opportunato
其原因是讓設計人員和開發人員無需手動添加PIE附件類。 – opportunato