在Firefox中,可以使用以下内容...
HTMLDocument.prototype.__defineGetter__("cookie",function (){return "foo=bar";}); HTMLDocument.prototype.__defineSetter__("cookie",function (){});
这不会导致WebKit中的任何错误,WebKit肯定支持__defineGetter__
和__defineSetter__
,但它不起作用.猜猜WebKit正在某种程度上保护这个属性.
那么,如何在WebKit中实现相同效果的任何想法?
您是否尝试过在文档对象本身而非原型上定义getter / setter对?
document.__defineGetter__("cookie", function() {} ); document.__defineSetter__("cookie", function() {} );
我知道这无关紧要,但我不会低估浏览器的怪癖。即使使用WebKit。
我已经在Chrome 2中进行了一些测试,看来它仅允许定义设置器。无论如何,我不确定这种观察对WebKit有多有效,因为Google Chrome浏览器使用了与WebKit不同的JavaScript解释器。