私はthe source code hereを通して読んでいます。これは、コンソールが開いているときを検出します。どのように.__ defineGetter__を使用して、ブラウザのコンソールが開いているかを検出することができます
私はいくつかのことで混乱しています。
まず、コンソールが開いていることがどのように検出されるかわかりません。それはplay()
機能をトリガaudioCheck === true
なるように戻り以下
if(audioCheck === true || (window.Firebug && window.Firebug.chrome && window.Firebug.chrome.isInitialized)) {
play();
}
線が不定。
window.Firebug && window.Firebug.chrome && window.Firebug.chrome.isInitialized
それはtrue
へaudioCheck
を設定し、次の行です。私は__defineGetter__
に関するいくつかの調査を行ったが、それは私にとっては不明なままである。
audioElement.__defineGetter__('id', function() {
audioCheck = true;
});
これは何を説明できますか?私は多くの研究の後にそれを理解することができません。
そして最後にどのような完全に私をスローすると、私はこの行を削除した場合、音声が再生されないということです。
console.log("Check the console: ", audioElement);
これが唯一のコンソールに情報を記録する必要がありますけれども、私が持っているだろうとこれは本当に奇妙です、音が再生されているかどうかには何の影響もありませんが、これは同じでなければなりません。__defineGetter__
ここには数多くの質問があります。
あなたは死んでいます。私も著者に尋ねたところ、彼はちょうど答えました。ありがとう! –
コンソールでDOM要素のゲッターを実行してIDを見つけた場合には、うーん、バグのように聞こえる... – Bergi
@Bergi ChromeやOperaの最新の安定版やIE11でも問題は多かれ少なかれ再現されました。 Firefoxには影響しないようです(HTML要素についての余分なデータも表示します)。 – rhino