我已经编写了一些代码,这些代码应该在发生这种情况时监视对控制台的修改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
,那似乎也是不可能的,因为无法捕获赋值操作,而只能捕获/设置属性。
平台:Chrome 67.0.3396.79