js 屏蔽 alert() confirm() prompt() 后的恢復


alert 彈窗太麻煩,js 一句代碼就屏蔽。

屏蔽一時爽,恢復火葬場

alert = null;

alert = console.log;

我要恢復使用alert彈窗呢?

沒得恢復。

alert是window對象的一個方法,將alert賦值為其他的后,原alert就沒有引用了,就找不到了。

恢復思路:保存alert方法的引用!

於是就有了網上的代碼:

但是,通過閱讀W3School的文章,window對象總會初始化,在新加載一個iframe時。

靈感來了,新建一個iframe,復制引用iframe中的window對象的alert函數。

image

$("iframe").contentWindow,找到iframe的window對象。

alert(1),嘗試alert一下。

window.alert = console.log,禁用 alert。

alert(1),再嘗試alert,已經變成控制台輸出了。

$("iframe").contentWindow.alert,找到iframe里面的alert。

window.alert = $("iframe").contentWindow.alert,復制引用,恢復window對象的alert方法引用

alert(1),再alert一次,已經恢復了。

image

如圖


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM