84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
劫持了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
函数呢?你说的原型的方式,倒是有一种可能,比如: