問題タブ [visibilitychange]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - document.hidden が true の場合、Chrome でスクロール イベントが発生しない。回避策はありますか?
ページが実際にスクロールしているにもかかわらず、ページが非表示の場合、Chrome によってスクロール イベントが発生することはありません。これは、表示されていないページの CPU とネットワークの使用量を減らすために実装したもののようです。
Chrome のフラグや拡張機能を使用しても、この動作を回避する方法はありますか? それが私がテストしているものなので、トリガーするには「スクロール」イベントが必要です。
html - onvisibilitychange コールバックで呼び出された場合、document.hasFocus() は常に false を返します。
イベントリスナーのコールバックdocument.hasFocus()
のコンテキストでは、常に false を返すようです。visibilitychange
使用できることは知っていますが、本当の場合はもう少し狭いので、document.hidden
使用したいと思います。hasFocus()
どうしてこうなったのか、もっと気になります。visibilitychange
それは、実際に呼び出されるたびに焦点を合わせる必要がdocument.hasFocus()
あるため、実際には真実ではないためですが、呼び出されるdocument
前にそれが起こることはありませんvisibilitychange
か?
例 1、tabA から tabB に切り替えます ->document.hasFocus()
に設定してからfalse
実行visibilitychange
します。例 2、tabB から tabA に切り替えます ->visibilitychange
実行document.hasFocus()
されますが、ドキュメントに技術的に焦点を当てていないため、まだ false であり、したがって false を返していますか? ドキュメントをマウスでクリックしたときだけdocument.hasFocus()
true になりますか?