劫持了alert
alert
window.alert = 'a'
如何继续在当前页alert呢?(iframe之类的 除外,在当前域下)
iframe
以前有人解答过两种方法——第一种 delete alert就好了。。现在不行了。什么原因啊。。浏览器新特性?第二种 用函数原型但是我给忘了、。。。
delete alert
函数原型
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
我想了一种方法
function fix() { var iframe = document.createElement('iframe') iframe.src = 'about:blank' document.body.appendChild(iframe) window.alert = iframe.contentWindow.alert } window.alert = '' alert() // error fix() alert() // succ
用一个变量保存起来_alert=alert
_alert=alert
alert是window的configurable属性,删除了就是删除了,怎么会自己变成原来的alert函数呢?你说的原型的方式,倒是有一种可能,比如:
window
configurable
function Person(){} Person.prototype.say = function(){console.log('from person')} var p = new Person(); p.say()// from person p.say = function(){console.log('from instance')} p.say()// from instance delete p.say p.say()// from person
我想了一种方法
用一个变量保存起来
_alert=alert
alert
是window
的configurable
属性,删除了就是删除了,怎么会自己变成原来的alert
函数呢?你说的原型的方式,倒是有一种可能,比如: