在javascript中分配属性引用

时间:2011-11-22 06:16:11

标签: javascript algorithm cross-browser decoupling cssom

我正在编写一个小的javascript脚本来编辑CSS代码,我发现有许多...特殊性,如果我可以这么说,与其他浏览器相比,使用Internet Explorer。例如,document.stylesheet对象的rules对象对于大多数浏览器称为cssRule,对于IE则称为规则。

我想在这里做的是分配一个包含窗口大小的对象属性的引用(window.innerWidth& document.body.clientWidth),以避免每次检查IE对象名称是否应该使用或“正常”。

这是好主意吗?

在发布问题之前,我想了解更多关于它的问题并提出了解决方案..

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

还有其他/更好的方法吗?

由于

(是的,我知道这样做真的没有必要,特别是因为我正在编写一个小脚本而且性能并不是真正令人担忧,但我主要是好奇。)

1 个答案:

答案 0 :(得分:0)

使用映射表:

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

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

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