Избегайте блокировщиков всплывающих окон браузера

Я разрабатываю поток аутентификации OAuth просто в JavaScript, и я хочу показать пользователю "окно" доступа предоставления во всплывающем окне, но это заблокировано.

Как я могу предотвратить раскрывающиеся окна, созданные также window.open или window.showModalDialog от того, чтобы быть заблокированным средствами блокировки всплывающих окон различных браузеров?

159
задан Mark Amery 10 November 2015 в 14:24
поделиться

1 ответ

Общее правило заключается в том, что блокировщики всплывающих окон срабатывают, если window.open или подобное вызывается из javascript, который не запускается ] прямое действие пользователя . То есть, вы можете вызвать window.open в ответ на нажатие кнопки, не попадая под действие блокировщика всплывающих окон, но если вы поместите тот же код в событие таймера, он будет заблокирован. Глубина цепочки вызовов также является фактором - некоторые старые браузеры смотрят только на непосредственного вызывающего абонента, новые браузеры могут немного отступить, чтобы увидеть, был ли вызывающий абонент щелчком мыши и т. Д. Держите его как можно более мелким, чтобы избежать блокировщиков всплывающих окон.

273
ответ дан 23 November 2019 в 21:33
поделиться
Другие вопросы по тегам:

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