Pat*_*lán 5 javascript jquery google-chrome userscripts tampermonkey
我正在隔离环境中使用chrome浏览恶意网站,以分析其数据以创建黑名单。用户脚本和浏览器扩展完全自动执行此过程。
问题在于某些站点能够在beforeunload或unload(我将其称为events)上显示退出对话框。
我已经覆盖了这些events,但是当站点再次覆盖我的覆盖时,整个过程将停止。我的意思是,他们可以events通过AJAX调用,模糊脚本,评估等来重新定义。
有什么办法可以摆脱这些消息,或者保护我的覆盖?也许unsafeWindow可以解决这个问题,但是我会避免在这种讨厌的环境中使用它。
编辑 -当前,我在用户脚本中使用以下代码:
location.href = "javascript:(" + function() {
window.onbeforeunload = null;
window.onunload = null;
} + ")()";
setInterval(function(){
location.href = "javascript:(" + function() {
window.onbeforeunload = null;
window.onunload = null;
} + ")()";
}, 3000);
Run Code Online (Sandbox Code Playgroud)
Object.defineProperty(window, 'onunload', {
value: null,
configurable: false
});
window.onunload = 1;
window.onunload;
// null
Run Code Online (Sandbox Code Playgroud)
configurable设置为 false 意味着该属性无法更改。