我正在尝试在我的 Chrome 扩展程序中覆盖 document.cookie,但我在让原始 document.cookie 功能同时工作时遇到了很多麻烦。目前我有这个:
var _cookie = document.cookie;
document.__defineSetter__("cookie", function(the_cookie) {_cookie=the_cookie;} );
document.__defineGetter__("cookie", function() {return _cookie;} );
我正在使用此处的技术从内容脚本中注入 JS 。
我看到的行为是我重新定义的 setter 和 getter 被调用,但原来的函数不再起作用。例如,我可以使用开发人员工具检查 _cookie 和 document.cookie 并查看它们具有相同的预期值,但 Chrome 的 cookie 存储中从未出现任何 cookie。
谁能告诉我我是如何破坏原始 document.cookie 功能的?document.cookie 是一个属性的问题,所以我实际上并没有得到指向原始设置器的指针吗?