Событие beforeunload при обновлении страницы в firefox

В настоящее время я использую faye для pubsub и отключаю клиент в событии beforeunload. Пока он отключается при закрытии вкладки во время обновления страницы, он выдает следующую ошибку:

Соединение было прервано во время загрузки страницы

Код

window.addEventListener('beforeunload',function(event){
  fayeClient.disconnect();
  event.preventDefault();});

Есть ли способ остановить Firefox от закрытия соединения до завершения вызова. Приведенный выше код отлично работает в Chrome

1 ответ

Решение

Как я могу предотвратить выгрузку страницы с помощью jQuery?

вниз в комментариях говорится:

В этом случае event.preventDefault() не работает, предположительно потому, что современные браузеры не хотят, чтобы злоумышленники взломали окно и сделали его закрытым? - yochannah 9 мая 13 в 8:45

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

Итак, чтобы взломать это. Вызовите свое разъединение, затем сделайте синхронный вызов файла, который

<?php
sleep(1);
Другие вопросы по тегам