Почему console.log является пустой функцией на некоторых сайтах в Chrome?
Перейдите на страницу входа в Twitter и введите в консоли следующее:
window.addEventListener('keypress', function(e){console.log('hello')}, true)
(ПРИМЕЧАНИЕ: как третий параметр установлен наtrue
который позволяет захват событий. Это приводит к тому, что события сначала перехватываются окном, а затем используются дочерним элементом.)
Попробуйте нажать несколько клавиш. Обратите внимание, какhello
не выводится на консоль. Добавление прослушивателя событий дляkeydown
или жеkeyup
ничего не меняет.
hello
будет выводиться на большинстве сайтов, но не на таких сайтах, как Twitter или Gmail.
Зачем? Что мешает прослушивателю событий?
РЕДАКТИРОВАТЬ: Кажется, работает как ожидается на Firefox. Но не Хром. Почему Chrome не запускает прослушиватель событий, как ожидалось?
РЕДАКТИРОВАТЬ 2: Как выведено несколькими людьми ниже,console.log
это пустая функция в Chrome для таких сайтов, как Twitter и Gmail. Это почему?