Как предотвратить закрытие окна / вкладки в javascript внутри firefox? - PullRequest
6 голосов
/ 26 февраля 2012

Я отлаживаю сайт с помощью firebug. Сайт открывает окно, выполняет некоторые операции и затем закрывает его. Это заставляет меня потерять всю историю сети firebug. Есть ли способ предотвратить закрытие окна javastript после его завершения, кроме изменения кода?

Ответы [ 2 ]

4 голосов
/ 26 февраля 2012

Вы можете переписать метод 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);
3 голосов
/ 26 февраля 2012

Я не пытался его использовать, но в FF есть настройки, которые якобы позволяют вам делать то, что вы хотите.

Введите about: config в строке URL и нажмите enter. После предупреждения вы увидите список параметров конфигурации. Найдите dom.allow_scripts_to_close_windows и установите для него значение false.

...