Chrome блокировка дополнительных диалогов? Манипуляция JavaScript? - PullRequest
1 голос
/ 09 сентября 2011

Chrome позволяет блокировать дополнительные окна предупреждений на веб-сайте.

Как именно они это делают? Управляют ли они напрямую вашим javascript, потому что где-то в вашем коде у вас будет alert('hello'); Так что же будет с этим кодом, когда пользователь отметит «запретить этому сайту создавать дополнительные диалоги»?

Ответы [ 3 ]

2 голосов
/ 09 сентября 2011

Подумайте об этом, ваш js взаимодействует с браузером, а затем браузер использует API вашей операционной системы, чтобы сделать то, что он не может сделать сам.Браузер - посредник, и он просто прекращает любые дальнейшие вызовы своей внутренней функции alert (которая в конечном итоге показывает диалог) из этого домена / вкладки.

1 голос
/ 09 сентября 2011

Код , лежащий в основе , выглядит следующим образом:

  if (suppress_this_message) {
    // If we are suppressing messages, just reply as if the user immediately
    // pressed "Cancel".
    OnDialogClosed(reply_msg, false, string16());
  }

Так что ничего не отобразится; скорее он действует так, как будто пользователь немедленно нажимает кнопку, то есть действует так, как если бы окно было немедленно закрыто .

1 голос
/ 09 сентября 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...