我正在对一些 Javascript 进行一些分析,我想保持启用 javascript,但禁用所有 alert() 框和 self.location 重定向。
目前我正在使用正则表达式代理,但这似乎有点矫枉过正。
我可以覆盖一些本机方法,但不能覆盖 Firefox 中的其他方法,即
window.alert = function('') { return null; }
alert('test!') // works as expected
但是,当我尝试类似地覆盖 window.location = (这是方法调用 window.assign() 的别名)时,它不起作用
window.location.assign = function('') { return null; }
window.location.assign('#') // redirects :(
我尝试设置 Window.prototype.location.assign 但我得到一个“无法修改 WrappedNative 的属性”异常。
用于细粒度 JS 控制的 NoScript 的任何替代品,或者是否可以覆盖某些 Native JS 方法?