如何使用Scriptish向火狐添加innerText属性?

首先,是学校的教务网页使用了innerText属性,所以我想自己写一个UserScript脚本来实现innerText属性。
其实,只要执行如下脚本后,就有了innerText属性了:
if(!!document.getBoxObjectFor||window.mozInnerScreenX!=null){
HTMLElement.prototype.__defineGetter__("innerText",function(){
returnthis.textContent;
});
HTMLElement.prototype.__defineSetter__("innerText",function(value){
this.textContent=value;
});
}
但是,我自己写了脚本之后,仍然无法设置innerText属性,提示TypeError:HTMLElement.prototype.__defineGetter__isnotafunction请问如何解决?
另外,innerText属性在onload代码中就使用了。
我觉得Scriptish的权限控制也是需要考虑的。
附上我写的测试脚本:
//==UserScript==
//@nameTest
//@namespacewww.example.com
//@include*
//@version1
//==/UserScript==
if(!!document.getBoxObjectFor||window.mozInnerScreenX!=null){
HTMLElement.prototype.__defineGetter__("innerText",function(){
returnthis.textContent;
});
HTMLElement.prototype.__defineSetter__("innerText",function(value){
this.textContent=value;
});
}
慕桂英4014372
浏览 386回答 2
2回答

有只小跳蛙

不是权限的原因,而是它本身就没有那个__defineSetter__属性。Object.defineProperty(HTMLElement.prototype,'innerText',{get:function(){returnthis.textContent;},set:function(val){this.textContent=val;}})Firebug控制台测试可行。文档
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript