2013-11-27 40 views
0

覆蓋本地js函數在IE 11不工作的本地函數覆蓋是這樣的:在IE11

var toEval='function myClose(){'+ 
    ' alert(88)'+ 
    '}'+ 
    'window.close=myClose;' 
eval(toEval) 

有人有一些想法? 謝謝

+3

爲什麼在天堂的名字你想這樣做?而不是*不把*代碼放在一個字符串中並且''評估它(例如,把代碼放入正確的位置)。 –

+0

我從我們的上下文複製..但它不工作也無法eval – Pradaglia

回答

0

瀏覽器將不允許覆蓋全局關閉功能。

但是,如果你想之前窗口關閉,你可以使用onbeforeunload事件執行一些代碼。

要向用戶顯示確認對話框,請從事件處理函數返回字符串值,如下所示。

window.onbeforeunload = function(){ 
    var ans = window.confirm("Are you sure?"); 
    if(!ans){ 
     return "confirmation"; 
    } 
};