JavaScript, я могу “перенаправить” пользователя в onbeforeunload? Если наклон, как к

Существует "куча" больших ответов выше о том, что дополнительные методы позволяют Вам сделать.

Мой короткий ответ - они почти избавляют от необходимости фабрики.

я просто укажу, что они не новое понятие, и одна из самых больших проверок их - то, что они - уничтожающая функция в Objective C ( категории ). Они добавляют такую гибкость к основанной на платформе разработке, что NeXT имел NSA и Уолл-стрит финансовые разработчики моделей как крупные пользователи.

REALbasic также реализует их, поскольку расширяет методы , и они имели подобное применение, там упрощающее разработку.

9
задан thomaux 24 April 2013 в 12:30
поделиться

3 ответа

Событие onbeforeunload должно возвращать строку (не равную false), браузер будет включать эту строку в собственное сообщение, отображаемое пользователю.

window.onbeforeunload = function(){
        location.assign('http://www.google.com');
        return "go to google instead?";
    }

Однако будет очень сложно сформулировать ваше сообщение таким образом, чтобы пользователь мог понять, что делать. И я не уверен, что это надежно в каждом браузере, я просто попробовал это в Chrome, это сработало, но у меня была вкладка, которую я не мог закрыть! К счастью, мне удалось убить его через диспетчер задач Chrome.

4
ответ дан 4 December 2019 в 21:50
поделиться

Если пользователь пытается закрыть браузер, то его намерения довольно ясны; он ожидает, что браузер закроется. Предотвратить это или вызвать что-либо еще между нажатием кнопки «закрыть» и закрытием браузера - это просто плохая идея, ИМО. Есть ли для этого особая причина? Я имею в виду, что когда я нажимаю кнопку «закрыть», я ожидаю, что браузер закроется, и если что-то еще произойдет, меня это будет очень раздражать. Я думаю, что веду себя достаточно разумно. Я? Кто знает такие вещи.

Почему бы вам не попытаться убедить пользователя посетить другую страницу менее навязчивым способом? Как со ссылкой или баннером?

2
ответ дан 4 December 2019 в 21:50
поделиться

Простой ответ - нет. Если бы браузеры позволяли вам делать больше с событиями onbeforeunload / onunload, это могло быть использовано кем угодно злонамеренно.

0
ответ дан 4 December 2019 в 21:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: