問題:
多くの場合、ブラウザのタブがいつフォーカスされるかを知ることが望ましい特に一定の間隔でタスクを実行するアプリケーションの場合、フォーカスがあります。たとえば、株価を定期的に更新するアプリケーションでは、タブがフォーカスされていないときにポーリングを一時停止すると、帯域幅が節約され、ユーザー エクスペリエンスが向上します。これは、異なるブラウザ間で信頼性の高い方法で実現できますか?
解決策:
はい、window.onfocus イベントと window.onblur イベントにより、タブを検出する信頼性の高い方法が提供されます。フォーカスが変更されます。
説明:
実装:
タブ フォーカスの検出にこれらのイベントを使用するには、次のようにイベント リスナーを追加できます。 :
<code class="javascript">window.onfocus = function() { // Tab has gained focus }; window.onblur = function() { // Tab has lost focus };</code>
例:
株価監視アプリケーションのコンテキスト:
<code class="javascript">window.onblur = function() { stopPricePolling(); // Suspend polling when tab loses focus }; window.onfocus = function() { startPricePolling(); // Resume polling when tab gains focus };</code>
この実装は、次の場合にポーリングを効果的に一時停止します。タブはアクティブではないため、最適なリソース割り当てとスムーズなユーザー エクスペリエンスが保証されます。
以上がクロスブラウザタブフォーカス検出は確実に実現できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。