我已经编写了一些应该监视document.cookie
修改的代码,并在发生这种情况时打印到控制台。
var handler = {
set: function(target, property, value) {
console.log("in proxy");
if (property === "cookie") {
console.log(`cookie is being modified with val ${value}`);
}
return Reflect.set(...arguments);
}
}
window.document = new Proxy(document, handler);
但是,似乎文档对象实际上并未更改。 (它仍然是未经版权的版本)。因此,代理永远不会捕获对document.cookie
的修改。
如果相反,我想在document.cookie
上设置一个代理,这似乎也是不可能的,因为无法捕获赋值操作,而只是属性get / set。< / p>
平台:Chrome 67.0.3396.79