javascriptテーマは、どうやってalertを書き直したら正常にalertをポップアップできますか?

1598 ワード

今日は群の中で面白い問題に出会いました.皆さんは能力を発揮して、いろいろな答えを出しました.わざわざブログにまとめて発表します.

//   :
window.alert = function(){};______;alert(1);   ,    alert(1)     ,          。
新しい実行環境を作成し、iframeサンドボックスを使用します.

window.alert = function(){};
window.alert=function(obj){
    var iframe=document.createElement("iframe");
    iframe.src="javascript:void(0);"
    document.body.appendChild(iframe)
    iframe.contentWindow.alert(obj);
}
alert(1)
新しい実行環境を作成し、新しいウィンドウを開きます.

window.alert = function(){};
window.alert = function(a){
    window.open('','').alert(a)
    //window.createPopup().document.parentWindow.alert(a) //IE only
}
alert(1);
解法三、元のalertを取り戻す(IEで失敗)

window.alert = function(){};
window.alert = function(a){
    delete window.alert;
    window.alert(a);
}
alert(1);
解法四、考え方は同じです.(IEの下で失敗しました.)

window.alert = function(){};
window.alert = function(a){
   window.__proto__.alert.call(window,a);
  //window.constructor.prototype.alert.call(window,a);
}
 alert(1);
解法5(IE only)

window.alert = function(){};
execScript('sub alert(msg):msgbox msg:end sub', 'vbscript');
alert(1);
解法六とは、ちょっとした気絶のことです.

window.alert = function(){};
window.alert = function(a){
    window.confirm(a)
}
alert(1);