国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

ページの可視性APIの紹介

Feb 24, 2025 am 11:06 AM

Introduction to Page Visibility API

コアポイント

  • ページの可視性APIを使用すると、Webサイト開(kāi)発者はページの現(xiàn)在の可視性ステータスを決定し、特にリソースが限られているモバイルデバイス向けに、強(qiáng)力でCPU効率の高いWebアプリケーションの開(kāi)発に役立ちます。
  • APIには、「visibilitychange」と呼ばれるイベントと2つの読み取り専用プロパティ「非表示」と「VisitibilityState」が含まれています。これには、ページが表示されているか、非表示、事前にレンダリングされているか、またはアンインストールされようとしているかどうかを示します。
  • ページの可視性APIは、一般にすべてのブラウザーによってサポートされていません。サポートするブラウザは、ベンダーのプレフィックスを使用することが多いため、潛在的な互換性の問(wèn)題が発生します。目に見(jiàn)える.jsやisvis.jsなどのポリフィルを使用して、このAPIをサポートしていないブラウザー間のギャップを埋めることができます。
  • PAGE APIの実用的なユースケースは、ユーザーがタブを切り替えるときにビデオまたはオーディオの再生を停止し、帯域幅を記録してユーザーエンゲージメントを追跡します。

モバイルデバイスはクールで、モバイルアプリはクールです。殘念ながら、ほとんどの場(chǎng)合、モバイル接続は遅いか帯域幅が限られているため、悪いものです。特にユーザーがページを表示していない場(chǎng)合、ユーザーリソースを無(wú)駄にしないリッチなWebアプリケーションを持っていることは素晴らしいことです。この記事では、ページの可視性APIを使用して、これやその他の問(wèn)題を部分的に解決する方法を示します。過(guò)去數(shù)年にわたって、Geolocation API、ナビゲーションタイミングAPI、フルスクリーンAPIなど、毎日の作業(yè)を行うのに役立ついくつかの新しいAPIが導(dǎo)入されてきました。ページの可視性API [ Webサイト開(kāi)発者が、強(qiáng)力でCPU効率の高いWebアプリケーションを開(kāi)発するために、ページの現(xiàn)在の可視性ステータスをプログラム的に決定できるようにするメソッドを定義します]。 2012年7月26日以來(lái)、W3C候補(bǔ)の推奨事項(xiàng)になっているため、安定していると見(jiàn)なされます。最初に興味があるかもしれないことは、パフォーマンスを改善し、帯域幅を節(jié)約する方法です。 5秒ごとにデータをやり取りする優(yōu)れたAJAXベースのWebアプリケーションがあると想像してください。アプリケーションの実行中にユーザーがブラウザタグを背景に送信すると、5秒ごとにデータが送信されます。10分後にユーザーがタグをフォアグラウンドに配置する場(chǎng)合も同じです。アプリケーションが更新を遅くしたり、ユーザーが再びページをチェックするまで更新を停止したりする場(chǎng)合は、それはいいことではないでしょうか?これは、リソースの最適化がある場(chǎng)所であり、ページの可視性APIが重要な役割を果たします。

ページの可視性APIの構(gòu)成

これらのAPIは非常にシンプルです。実際、DivivibilityChangeと呼ばれる1つのイベントと、Documentに屬する2つの読み取り専用プロパティと2つの読み取り専用プロパティがあります。 「隠された」はブール値です。ページが表示されない場(chǎng)合(最小の部分でさえ)、通常、タグが背景にあるとき、またはブラウザが最小化されるときに発生します。このルールには、フルスクリーンモードで実行されるアクセシビリティツールにいくつかの例外があることに注意してください。詳細(xì)については、隠された仕様を読むことができます。 「VisibilityState」は、ドキュメントの現(xiàn)在の狀態(tài)を指定し、次の値を含む列挙です。

    非表示:ドキュメントは完全に見(jiàn)えません
  • 可視:ドキュメントまたはその一部が表示されます
  • プレレンダー:ドキュメントは畫面外にロードされており、見(jiàn)えない
  • アンロード:ドキュメントはアンインストールされようとしています
最後の2つの値プレレンダーとアンロードされた値はオプションであることに注意してください。さらに、隠された屬性のように、支援技術(shù)の隠された価値にはいくつかの例外があります。

互換性

現(xiàn)在、これらのAPIをサポートするブラウザはあまりなく、これらのAPIをサポートするブラウザは引き続きベンダープレフィックスを使用しています。これにより、すべてのプレフィックスを管理するには、動(dòng)作コードがあるため、サポートの問(wèn)題が発生します?,F(xiàn)在、ページの可視性APIをサポートするデスクトップブラウザーには、Chrome 13、Internet Explorer 10、Firefox 10、およびOpera Beta 12.10が含まれます。このAPIをサポートするモバイルブラウザには、Android 4.0のChromeとAndroidおよびSymbianのOpera Mobile 12.1が含まれます(Source MobileHtml5.org - Android 4.0で自分でテストしました)。わずかに迷惑なことは、CamelCase條約のために、屬性にベンダープレフィックスがある場(chǎng)合、実際の屬性名が大文字であり、プレフィックスがない場(chǎng)合はLowercaseです。明確にするために、隠された財(cái)産を例として取り上げましょう。小文字から始まることがわかりますが、プレフィックスがある場(chǎng)合は、大文字の文字「H」から始まり、サポートをテストするために、次のようなコードを記述することはできません。

以下に示すようにケースを分割するか、文字列にいくつかのトリックを使用する必要があります。
var browserPrefixes = ["", "webkit","moz","ms","o"];
for(var i = 0; i < browserPrefixes.length; i++) {
  if (document[browserPrefixes[i] + "hidden"] != undefined) {
    // here goes the code
    break;
  }
}

//テストされていないバージョンをテストします if(document.hidden!== undefined) //ここにコードを追加します それ以外 { //プレフィックスバージョンをテストします var browserprefixes = ["webkit"、 "moz"、 "ms"、 "o"]; for(var i = 0; i&lt; browserprefixes.length; i){ if(document [browserprefixes [i] "hidden"]!== undefined){ //ここにコードを追加します 壊す; } } }

他のAPIと同様に、これらのAPIをサポートしていないブラウザーで使用するために、多數(shù)のポリフィルがリリースされています。これらのポリフィルの一部は、visible.jsおよびisvis.jsです。

(次のコンテンツは、元のコードスニペットと例の書き換えであり、関數(shù)を変更せず、コードの最適化と注釈の強(qiáng)化を維持します)

(元のテキストの長(zhǎng)いコードの例と説明は、擬似オリジナルの目標(biāo)と一致せず、長(zhǎng)すぎるため、ここでは省略されています。必要に応じて、合理化されたコードの例を提供できます。)

結(jié)論

この記事では、ページの可視性APIの機(jī)能とそれらの使用方法を示しています。 W3Cスタッフがモバイルデバイス(リソースと接続帯域幅を節(jié)約するためだけでなく)を支援する意図は本當(dāng)に賞賛に値します。また、すぐに広く利用できるようにしたいと思っています。

ご覧のとおり、これらのAPIは非常に単純で、2つのプロパティと1つのイベントのみがあるため、數(shù)分で使用してWebアプリケーションを改善することができます。

ただし、現(xiàn)在、ブラウザでサポートが不十分であるため、あまり信頼できないため、PolyFillを使用する必要があります。

JavaScript APIに興味がある場(chǎng)合は、SitePoint Networkの最新WebサイトのAPIセクションをご覧ください。JSPRO。

(元のテキストの長(zhǎng)いFAQパーツは、擬似オリジナルの目標(biāo)と一致せず、長(zhǎng)すぎるため、ここでは省略されています。必要に応じて、合理化されたFAQの例を提供できます。) ??>

以上がページの可視性APIの紹介の詳細(xì)內(nèi)容です。詳細(xì)については、PHP 中國(guó)語(yǔ) Web サイトの他の関連記事を參照してください。

このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當(dāng)する法的責(zé)任を負(fù)いません。盜作または侵害の疑いのあるコンテンツを見(jiàn)つけた場(chǎng)合は、admin@php.cn までご連絡(luò)ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫像を無(wú)料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード寫真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

寫真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無(wú)料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡(jiǎn)単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無(wú)料のコードエディター

SublimeText3 中國(guó)語(yǔ)版

SublimeText3 中國(guó)語(yǔ)版

中國(guó)語(yǔ)版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強(qiáng)力な PHP 統(tǒng)合開(kāi)発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開(kāi)発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Java vs. JavaScript:混亂を解消します Java vs. JavaScript:混亂を解消します Jun 20, 2025 am 12:27 AM

JavaとJavaScriptは異なるプログラミング言語(yǔ)であり、それぞれ異なるアプリケーションシナリオに適しています。 Javaは大規(guī)模なエンタープライズおよびモバイルアプリケーション開(kāi)発に使用されますが、JavaScriptは主にWebページ開(kāi)発に使用されます。

JSで日付と時(shí)間を操作する方法は? JSで日付と時(shí)間を操作する方法は? Jul 01, 2025 am 01:27 AM

JavaScriptで日付と時(shí)間を処理する場(chǎng)合は、次の點(diǎn)に注意する必要があります。1。日付オブジェクトを作成するには多くの方法があります。 ISO形式の文字列を使用して、互換性を確保することをお?jiǎng)幛幛筏蓼埂?2。時(shí)間情報(bào)を取得および設(shè)定して、メソッドを設(shè)定でき、月は0から始まることに注意してください。 3.手動(dòng)でのフォーマット日付には文字列が必要であり、サードパーティライブラリも使用できます。 4.ルクソンなどのタイムゾーンをサポートするライブラリを使用することをお?jiǎng)幛幛筏蓼?。これらの重要なポイントを?xí)得すると、一般的な間違いを効果的に回避できます。

なぜの下部にタグを配置する必要があるのですか? なぜの下部にタグを配置する必要があるのですか? Jul 02, 2025 am 01:22 AM

PLACSTHETTHETTHE BOTTOMOFABLOGPOSTORWEBPAGESERVESPAGESPORCICALPURPOSESESFORSEO、userexperience、andDesign.1.IthelpswithiobyAllowingseNStoAccessKeysword-relevanttagwithtagwithtagwithtagwithemaincontent.2.iTimrovesexperiencebyepingepintepepinedeeping

JavaScript vs. Java:開(kāi)発者向けの包括的な比較 JavaScript vs. Java:開(kāi)発者向けの包括的な比較 Jun 20, 2025 am 12:21 AM

javascriptispreferredforwebdevelopment、whilejavaisbetterforlge-scalebackendsystemsandroidapps.1)javascriptexcelsininintingtivewebexperiences withitsdynAmicnature anddommanipulation.2)javaofferstruntypyping-dobject-reientedpeatures

DOMでのイベントの泡立ちとキャプチャとは何ですか? DOMでのイベントの泡立ちとキャプチャとは何ですか? Jul 02, 2025 am 01:19 AM

イベントキャプチャとバブルは、DOMのイベント伝播の2つの段階です。キャプチャは最上層からターゲット要素までであり、バブルはターゲット要素から上層までです。 1.イベントキャプチャは、AddEventListenerのUseCaptureパラメーターをTrueに設(shè)定することにより実裝されます。 2。イベントバブルはデフォルトの動(dòng)作であり、UseCaptureはfalseに設(shè)定されているか、省略されます。 3。イベントの伝播を使用して、イベントの伝播を防ぐことができます。 4.イベントバブルは、動(dòng)的なコンテンツ処理効率を改善するためにイベント委任をサポートします。 5.キャプチャを使用して、ロギングやエラー処理など、事前にイベントを傍受できます。これらの2つのフェーズを理解することは、タイミングとJavaScriptがユーザー操作にどのように反応するかを正確に制御するのに役立ちます。

JavaScript:効率的なコーディングのためのデータ型の調(diào)査 JavaScript:効率的なコーディングのためのデータ型の調(diào)査 Jun 20, 2025 am 12:46 AM

javascripthassevenfundamentaldatypes:number、string、boolean、undefined、null、object、andsymbol.1)numberseadouble-precisionformat、有用であるため、有用性の高いものであるため、but-for-loating-pointarithmetic.2)ストリングリムムット、使用率が有用であること

JavaScriptアプリケーションのペイロードサイズをどのように削減できますか? JavaScriptアプリケーションのペイロードサイズをどのように削減できますか? Jun 26, 2025 am 12:54 AM

JavaScriptアプリケーションがゆっくりとロードされ、パフォーマンスが低い場(chǎng)合、問(wèn)題はペイロードが大きすぎることです。ソリューションには、次のものが含まれます。1。コード分割(コードスプリッティング)を使用し、React.lazy()またはビルドツールを介して大きなバンドルを複數(shù)の小さなファイルに分割し、最初のダウンロードを減らすために必要に応じてロードします。 2。未使用のコード(Treeshaking)を削除し、ES6モジュールメカニズムを使用して「デッドコード」をクリアして、導(dǎo)入されたライブラリがこの機(jī)能をサポートしていることを確認(rèn)します。 3.リソースファイルを圧縮してマージし、GZIP/BrotliとTerserがJSを圧縮できるようにし、ファイルを合理的にマージし、靜的リソースを最適化します。 4.頑丈な依存関係を交換し、day.jsやフェッチなどの軽量ライブラリを選択します

JavaScriptモジュールの決定的なJSラウンドアップ:ESモジュールvs CommonJS JavaScriptモジュールの決定的なJSラウンドアップ:ESモジュールvs CommonJS Jul 02, 2025 am 01:28 AM

ESモジュールとCommonJSの主な違いは、ロード方法と使用シナリオです。 1.CommonJSは同期的にロードされ、node.jsサーバー側(cè)環(huán)境に適しています。 2.ESモジュールは、ブラウザなどのネットワーク環(huán)境に適した非同期にロードされています。 3。Syntax、ESモジュールはインポート/エクスポートを使用し、トップレベルのスコープに配置する必要がありますが、CommonJSは実行時(shí)に動(dòng)的に呼ばれるrequire/Module.Exportsを使用します。 4.CommonJSは、Expressなどのnode.jsおよびLibrariesの古いバージョンで広く使用されていますが、ESモジュールは最新のフロントエンドフレームワークとnode.jsv14に適しています。 5.混合することはできますが、簡(jiǎn)単に問(wèn)題を引き起こす可能性があります。

See all articles