目次
新しい BroadcastChannel の作成
メッセージ通知を送信する
ホームページ ウェブフロントエンド htmlチュートリアル 最新の HTML BroadcastChannel API 推奨_html/css_WEB-ITnose

最新の HTML BroadcastChannel API 推奨_html/css_WEB-ITnose

Jun 24, 2016 am 11:48 AM

HTML BroadcastChannel API

現在のブラウザの中で、BroadcastChannel APIをサポートしているのはFirefox38のみであり(記事執筆時点)、Firefox38は2015年5月まで正式版をリリースしないことが公式に発表されています。この新しい API は、新たな可能性の世界を開き、postMessage API から引き継いだ多くの制限を解決します。

WHATWG リビング HTML 標準の一部としての BroadcastChannel API については、ここで詳細を確認できます。

BroadcastChannel API とは何ですか?

BroadcastChannel API を使用すると、同じオリジン ドメインおよびユーザー エージェントにあるすべてのウィンドウ、iFrame などが対話できるようになります。つまり、ユーザーが同じ Web サイトの 2 つのタブ ウィンドウを開いた場合、Web サイトのコンテンツが変更された場合、両方のウィンドウに更新が同時に通知されます。

まだわからないですか? Facebook を例に挙げると、Facebook ウィンドウを開いてまだログインしておらず、ログインするために別のウィンドウを開いた場合、ユーザーがログインしてリクエストを行ったことを他のウィンドウ/タブに通知できます。対応するページの更新。

本質的に、BroadcastChannel API を使用すると、ソケットやタイマーを使用せずに状態変化を自己認識できるアプリケーションを構築できます。これは、パブリッシュ/サブスクライブ システムに特に効果的です。

BroadcastChannel API の動作

新しい BroadcastChannel の作成

新しい BroadcastChannel API の作成は簡単です。必要なのは、チャンネル名をパラメーターとして BroadcastChannel コンストラクターに渡し、その参照を変数に保存することだけです。

let cast = new BroadcastChannel('mychannel');
ログイン後にコピー

メッセージ通知を送信する

メッセージの送信も非常に簡単です。必要なのは、BroadcastChannel インスタンスに割り当てられた変数 (この例では、上記のキャスト変数です) を参照し、その postMessage メソッドを呼び出すことだけです。

他のパブリッシュ/サブスクライブ ベースのシステムに精通している場合は、postMessage メンバー メソッドをイベント エミッターと呼ぶ方が合理的かもしれません。

postMessage メソッドの優れている点は、これを使用してあらゆるものを送信できることです。オブジェクトや文字列など、何でも送信できます。あなたが送信しているイベントを購読者が知っている限り、それを楽しんでください。

myObj = {someKey: 'Some value', anotherKey: 'Another value'};cast.postMessage(myObj);
ログイン後にコピー

一部のよりニッチなパブリッシュ/サブスクライブ システムとは異なり、「トピック」はネイティブ実装ではサポートされていません。これは、すべてのリスニング加入者に「トピック」をブロードキャストするチャネルがないことを意味します。

ただし、創造的なコードを作成することで、この実装を模倣することもできます。オブジェクトを使用して、オブジェクトの 1 つのキーとして「トピック」を送信し、別のキー「データ」としてメッセージのコンテンツを送信することができます。

メッセージ監視

「受信者」は、「サブスクライバー」と呼ばれることの方が一般的です。受信機は、特定のチャネルに対して前に定義した BroadcastChannel チャネル参照変数によって発行されたイベントをリッスンします。

cast.onmessage = function (e) {     console.log(e); // This should print out the contents of the object we sent above}
ログイン後にコピー

接続を閉じます

Javascript のパフォーマンスを非常に重視し、リソース消費 (特に携帯電話を使用する場合) を気にしていると仮定します。 幸いなことに、BroadcastChannel には、これらの接続を閉じることができる組み込みメソッドがあります。

cast.close(); // Close our connection and let the garbage collection free up the memory that was used
ログイン後にコピー
ブラウザのサポート

前に述べたように、現時点では Firefox バージョン 38 のみが BroadcastChannel API をサポートします。他のブラウザも追随する可能性が高いと考えると、やはりこの API は非常に便利です。そうなると、この分野で通常のアプリケーションやゲーム アプリケーションを作成するのは、水の中のアヒルのようなものになります (厳しいブラウザ サポートの出現)

ユーザーの観点から見ると、(現時点では) 基本的には優れている、または関連するテクニカルサポートではありません。ただし、現在は BroadcastChannel API を使用できるブラウザ プラグインがありますが、結局のところ、この機能のサポートを実際に実装しているブラウザはまだないため、様子見するしかありません。

原文: http://ilikekillnerds.com/2015/03/all-about-the-html-broadcastchannel-api/

著者: 天地匯珠海支店

WeChat 公開アカウント: TechGoGoGo
Weibo: http://weibo .com/techgogogo
CSDN:

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

HTMLは初心者のために簡単に学ぶことができますか? HTMLは初心者のために簡単に学ぶことができますか? Apr 07, 2025 am 12:11 AM

HTMLは、簡単に学習しやすく、結果をすばやく見ることができるため、初心者に適しています。 1)HTMLの学習曲線はスムーズで簡単に開始できます。 2)基本タグをマスターして、Webページの作成を開始します。 3)柔軟性が高く、CSSおよびJavaScriptと組み合わせて使用​​できます。 4)豊富な学習リソースと最新のツールは、学習プロセスをサポートしています。

HTML、CSS、およびJavaScriptの役割:コアの責任 HTML、CSS、およびJavaScriptの役割:コアの責任 Apr 08, 2025 pm 07:05 PM

HTMLはWeb構造を定義し、CSSはスタイルとレイアウトを担当し、JavaScriptは動的な相互作用を提供します。 3人はWeb開発で職務を遂行し、共同でカラフルなWebサイトを構築します。

HTMLでの開始タグの例は何ですか? HTMLでの開始タグの例は何ですか? Apr 06, 2025 am 12:04 AM

Anexampleapalofastartingtaginhtmlis、それはaperginsaparagraph.startingtagsaresentionentientiontheyinitiateelements、definetheirtypes、およびarecrucialforurturingwebpagesandcontingthomedomを構築します。

HTML、CSS、およびJavaScriptの理解:初心者向けガイド HTML、CSS、およびJavaScriptの理解:初心者向けガイド Apr 12, 2025 am 12:02 AM

webdevelopmentReliesOnhtml、css、andjavascript:1)htmlStructuresContent、2)cssStylesit、および3)Javascriptaddsinteractivity、形成、

Giteeページ静的なWebサイトの展開に失敗しました:単一のファイル404エラーをトラブルシューティングと解決する方法 Giteeページ静的なWebサイトの展開に失敗しました:単一のファイル404エラーをトラブルシューティングと解決する方法 Apr 04, 2025 pm 11:54 PM

GiteEpages静的Webサイトの展開が失敗しました:404エラーのトラブルシューティングと解像度Giteeを使用する

WebアノテーションにY軸位置の適応レイアウトを実装する方法は? WebアノテーションにY軸位置の適応レイアウトを実装する方法は? Apr 04, 2025 pm 11:30 PM

Y軸位置Webアノテーション機能の適応アルゴリズムこの記事では、単語文書と同様の注釈関数、特に注釈間の間隔を扱う方法を実装する方法を探ります...

CSS3とJavaScriptを使用して、クリック後に周囲の写真を散乱および拡大する効果を実現する方法は? CSS3とJavaScriptを使用して、クリック後に周囲の写真を散乱および拡大する効果を実現する方法は? Apr 05, 2025 am 06:15 AM

画像をクリックした後、散乱と周囲の画像を拡大する効果を実現するには、多くのWebデザインがインタラクティブな効果を実現する必要があります。特定の画像をクリックして周囲を作成してください...

HTML、CSS、およびJavaScript:Web開発者に不可欠なツール HTML、CSS、およびJavaScript:Web開発者に不可欠なツール Apr 09, 2025 am 12:12 AM

HTML、CSS、およびJavaScriptは、Web開発の3つの柱です。 1。HTMLは、Webページ構造を定義し、などなどのタグを使用します。2。CSSは、色、フォントサイズなどのセレクターと属性を使用してWebページスタイルを制御します。

See all articles