ゴーTwitterのログインページに、コンソールに次のように入力します。Chromeの一部のサイトでconsole.logが空の機能となるのはなぜですか?
window.addEventListener('keypress', function(e){console.log('hello')}, true)
は(注:どのように三番目のパラメータは、イベントのキャプチャを可能にするtrue
に設定されている。これは、ウィンドウで最初にインターセプトされるイベントが発生します。子要素で消費される前に)
いくつかのキーを押してみてください。 hello
がコンソールにどのように出力されていないかに注目してください。またはkeyup
のイベントリスナーを追加しても何も変更されません。
hello
は、ほとんどのウェブサイトでは出力されますが、TwitterやGmailなどのサイトでは出力されません。
なぜですか?何がイベントリスナーを停止していますか?
編集:Firefoxで期待どおりに動作するようです。しかし、Chromeはありません。 Chromeがイベントリスナーを期待どおりに起動しないのはなぜですか?
編集2:下記のように推測されるように、console.log
は、TwitterやGmailなどのサイトではChromeの空の機能です。何故ですか?
あなたは 'document'の代わりに、'ウィンドウに追加すべきではありません'? – Bergi
おそらく、いくつかのキーで 'keydown'を使ってイベントを取り消しています。 – Shmiddty
なぜですか? (それでも問題は解決しません) – Matm