Я хочу сделать всплывающее окно, которое не позволяет пользователю закрыть браузер, пока не закроется всплывающее окно

Я хочу сделать всплывающее окно, которое замораживает браузер, пока оно не будет закрыто. Но я застрял в какой-то момент, так как при закрытии браузера он просит пользователя остаться или уйти, но когда пользователь нажимает на кнопку, он закрывается. Вместо этого я хочу, чтобы, когда пользователь щелкает опцию выхода, он либо перезагружает сайт, либо ничего не делает, также при повторном выполнении этого действия Chrome выдает предупреждение, чтобы предотвратить любой дополнительный диалог, который я хочу отключить, или он ничего не должен делать. Пока всплывающее окно не закрыто. Поэтому, наконец, пользователи не должны иметь возможность закрыть свой браузер с помощью кнопки закрытия браузера или вернуться назад или заменить URL. Он должен зависнуть, пока не будет выполнено требование всплывающего окна. Спасибо и помогите пожалуйста.

2 ответа

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

Если вы хотите скрыть "Блокировать дополнительные диалоги на этой странице", вы можете создать свой собственный диалог. Просто div с position: fixed и display: none, а затем onBeforeUnload показывают его с display: block. Вот больше на этом: Stackru.com

В этом случае вы можете использовать всплывающее окно начальной загрузки: как это:

https://www.w3schools.com/bootstrap/tryit.asp?filename=trybs_modal&stacked=h

и в случае нажатия на кнопку закрытия вы можете добавить новое предупреждение или другое всплывающее окно.. и закрытие этого типа всплывающего окна не может отражать другие данные.

Это может помочь вам.

Другие вопросы по тегам