我正在对一些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方法?