Internet Explorer 9 下__defineGetter__ __defineSetter__ 无效解决方法

来源:互联网 发布:mysql免装版配置 编辑:程序博客网 时间:2024/05/17 04:30

以前为了给非IE扩展类似innerText等没有的方法、属性时,很多人这么写

if(typeof(HTMLElement) != "undefined" && !window.opera){

  HTMLElement.prototype.__defineGetter__(...);

  ...

}

IE 9标准模式下就直接失效了,因为万恶的IE 9开始defined HTMLElement了,但是又不支持__defineGetter__,结果可想而知,解决方法当然也有,示例代码:

try {stylesheet.__defineGetter__("rules",function(){return this.cssRules})} catch (ex) {Object.defineProperty(stylesheet, "rules", {get: function() {return this.cssRules}});}


原创粉丝点击