2012-02-26 90 views
4

我正在使用螢火蟲調試網站。該網站打開一個窗口,執行一些操作並關閉它。這使我失去了所有的螢火蟲淨歷史。有沒有辦法阻止javastript完成後關閉窗口,除了更改代碼?如何防止Firefox內的JavaScript關閉窗口/選項卡?

+0

我有完全相同的問題。我最終在觸發關閉的地方的js代碼中添加了一個斷點,以便我可以檢查到那時爲止的網絡歷史記錄。 – beldaz 2017-10-25 19:30:08

回答

3

我還沒有嘗試使用它,但在FF有一個設置據稱讓你做你想做的事。

在url欄輸入about:config並按下回車鍵。警告之後,您會看到配置選項列表。搜索dom.allow_scripts_to_close_windows並將其值設置爲false。

+0

這是COOOL))) – 2012-02-26 14:27:12

+0

這不適用於腳本創建的窗口。仍然,這對我來說似乎是最好的選擇 – 2012-02-27 11:38:04

4

您可以重寫open方法,該方法會添加beforeunload事件。看看註釋代碼+書籤如下:

代碼:

javascript:(function(w){ 
    var o = w.open;  /* Stores original `window.open` method */ 
    w.open = function() { /* Catches all window.open calls*/ 
     var x = o.apply(w, arguments); /* Calls original window.open */ 
     /* Bind beforeunload event */ 
     x.addEventListener('beforeunload',function(e){e.preventDefault()},true); 
     return x; 
    } 
})(window); 

小書籤:

javascript:(function(w){var o=w.open;w.open=function(){var x=o.apply(w,arguments);x.addEventListener('beforeunload',function(e){e.preventDefault()},true);return x;}})(window); 
+0

看起來不錯,但在我的例子中不起作用( – 2012-02-27 11:27:34

+0

@ArsenZahray網站是否包含在一個框架中?在這種情況下,用'frames [0]'(=如果網站包含多個框架,則可以遍歷所有框架,並將其添加到該框架中 – 2012-02-27 11:38:12

相關問題