2011-11-22 72 views
0

我正在編寫一個用於編輯CSS代碼的小javascript腳本,並且我發現這裏有很多...特殊情況,如果我可以這樣說,請使用Internet Explorer與其他瀏覽器進行比較。例如,document.stylesheet對象的規則對象在大多數瀏覽器中稱爲cssRule,在IE中稱爲規則。在javascript中指定屬性參考

我想在這裏做的是分配一個對象的屬性的引用,包含窗口的大小(window.innerWidth & document.body.clientWidth),以避免每次檢查IE對象名稱是否應該被使用或「正常」的。

這是一個好/壞主意?

張貼我想一些更多地瞭解它,並用一個解決方案提出了這個問題之前..

function CommonObject(obj, propertyName){ 
    this.get = function() { return obj[propertyName]; } 
} 

是否有其他/更好的方式來做到這一點?

感謝

(是的,我知道這樣做真的沒必要,尤其是因爲我正在做一個小腳本和性能是不是一個真正的關注,但我主要是好奇。)

+2

我想大多數人會建議:-) – 2011-11-22 06:22:52

+0

你可能要檢查的「讓我們做一個框架」系列在「dailyjs [喜愛的跨平臺的JavaScript框架,這裏的名稱] .com「 - Alex在CSS上寫了幾個部分也可以調整:http://dailyjs.com/2011/03/17/framework-54/,http://dailyjs.com/2011/04/21/framework-59/,http://dailyjs.com/ tags.html#css,http://dailyjs.com/tags.html#lmaf – polarblau

回答

0

使用映射表:

var css = {"rules": {"ie":"rule","w3":"cssRule"} } 

var browser = !!window.XPathEvaluator ? "w3" : "ie" 

var foo = document.styleSheets["0"][css.rules[browser] ]