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