元のアドレス: HTML5 の window.postMessage API
オンライン例: HTML5 の window.postMessage の使用(ログを表示するにはコンソールを開いてください)
I window.postMessage をカプセル化する MooTools プラグイン「PostMessager」を作成しました。ここをクリックしてダウンロードできます。
HTML5 の window.postMessage インターフェイス API を理解している人は多くありません。 window.postMessage を使用すると、複数のウィンドウ/フレーム間でデータと情報をクロスドメイン転送できます。本質的に、window.postMessage はクロスドメイン Ajax リクエストの役割を果たします。もちろん、連携するリモート サーバーは必要ありません。次に、window.postMessage の仕組みと、FireFox、IE8、Opera、Safari、Chrome での使用方法を紹介します。
1. メッセージ送信終了
最初のステップは「ニュースソース」を設定することです。このメッセージ ソースを通じて、ウィンドウ レベルのデータ (メッセージ) を新しく開かれたウィンドウ (または iframe) に送信できます。次の例では、新しいウィンドウにメッセージを送信する頻度は 6 秒に 1 回で、ターゲット ウィンドウから返された応答情報を処理するようにイベント リスニングが設定されています。
関数トレース(メッセージ){
var infos = Array.prototype.slice.call(arguments,0).join(" ");
if("console" in window){
console.log(infos); } else {
alert(infos);
}
}// ポップアップウィンドウを作成します
var domain = 'http://scriptandstyle.com'; var myPopup = window.open (domain '/windowPostMessageListener.html','myWindow');
//定期的にメッセージを送信します
setInterval(function(){
var message = '今の時間: ' (new Date().getTime( ));
trace('送信されたメッセージ: ' message);
myPopup.postMessage(message,domain); //データ情報を送信し、ターゲット URI を設定します。 },6*1000 );
function bindingEvent(target,noOnEventName,handler){
if(window.addEventListener){
target.addEventListener(noOnEventName,handler); else if(window) .attachEvent){
// IE のリスニング設定関数はattachEvent
target.attachEvent("on" noOnEventName,handler)
} else {
target["on" noOnEventName]=handler ;
}
};
// 受信した情報を監視します。
bindEvent(window,'message',function(event)) {
// 特定のドメインからのメッセージのみを受信します
if(event.origin !== 'http://scriptandstyle.com') return;
trace('受信した応答情報: ',event.data);
元の記事の著者は、イベントをバインドするために window.addEventListener メソッドを使用していますが、IE ではエラーが報告されます (IE は window.attachEvent です)。もちろん、イベントをラップする関数を作成することもできます。または、MooTools や jQuery/dojo などの既製のクラス ライブラリを使用して実現します。
上記の例では、新しいウィンドウが正常に開いた場合、ウィンドウ オブジェクト参照 myPopup を通じてメッセージを送信し、一致する必要がある URI (プロトコル、ホスト名、ポート番号) を指定できます (ユーザーが子ウィンドウにジャンプした場合)。
同様に、メッセージを受信するイベント ハンドラー関数もバインドしました。複数のフレームを操作するときに混乱しないように、すべての URI によって送信されたメッセージを受信できるため、メッセージ イベントのorigin 属性を確認することが重要であることに注意してください。 発信元を確認した後、このメッセージを処理する方法は、特定のビジネスとニーズによって異なります。
iframe を使用する場合、コードは次のとおりです。
コードをコピーします
trace('データ ソース.メッセージ送信: ' message);
iframe.postMessage(message,domain); //データ情報を送信し、ターゲット URI を設定します
},6*1000);
iframe オブジェクトの contentWindow 属性にアクセスできることを確認します—— iframe オブジェクトだけではありません。
2. メッセージ受信終了
コードをコピー
// 受信した情報を監視します。
bindEvent(window,'message',function(event) {
// 特定のドメインからのメッセージのみを受信します
if(event.origin !== 'http://davidwalsh.name') return;
trace('リッスンした情報: ',event.data);
//応答メッセージ
イベント.source .postMessage(""こんにちは、メッセージを受け取りました。event.origin);
message イベントの重要な属性は次のとおりです。
source - メッセージを送信するウィンドウ/iframe オブジェクト
origin - メッセージを送信するウィンドウに対応する URI (プロトコル、ドメイン、およびポートの場合)
data - 特定のデータ情報
これら 3 つのオブジェクトは、メッセージング システムと検証に不可欠です。
window.postMessage の使用に関する注意事項 他のすべての Web テクノロジーと同様に、(イベント ソースを確認せずに) 不適切に使用すると、その危険性が明らかです。もちろん、セキュリティはあなた次第です。
window.postMessage は JavaScript テクノロジの PHP に非常に似ています (笑、広告はほとんどありません!)。window.postMessage は非常に優れたテクノロジだと思いますが、どう思いますか?

html5isamajorrevision ofhtmlstandardthatedatedatizeizeswebdevelovement byintunwingnewsemanticelementsandcapabilities.1)itenhancesscodereadability and.2)html5EnableSricher、InteractiveEnceEnceEnceEncedienceEnceDirectembe、and.2)

H5の高度なヒントには以下が含まれます。1。複雑なグラフィックスを使用して描画します。2。ウェブワーカーを使用してパフォーマンスを向上させます。これらのヒントは、開発者がよりダイナミックでインタラクティブで効率的なWebアプリケーションを構築するのに役立ちます。

H5(HTML5)は、新しい要素とAPIを介してWebコンテンツと設計を改善します。 1)H5はセマンティックタグ付けとマルチメディアサポートを強化します。 2)キャンバスとSVGを導入し、Webデザインを濃縮します。 3)H5は、新しいタグとAPIを介してHTML機能を拡張することにより機能します。 4)基本的な使用には、それを使用したグラフィックの作成が含まれ、高度な使用法にはwebstorageapiが含まれます。 5)開発者は、ブラウザの互換性とパフォーマンスの最適化に注意を払う必要があります。

H5は多くの新しい機能と機能をもたらし、Webページのインタラクティブ性と開発効率を大幅に改善します。 1。SEOの強化などのセマンティックタグ。 2.マルチメディアサポートは、オーディオとビデオの再生とタグを簡素化します。 3. Canvas Drawingは、動的なグラフィックスの描画ツールを提供します。 4.ローカルストレージは、LocalStorageとSessionStorageを介してデータストレージを簡素化します。 5. Geolocation APIは、ロケーションベースのサービスの開発を促進します。

HTML5は5つの重要な改善をもたらします。1。セマンティックタグにより、コードの明確性とSEO効果が向上します。 2.マルチメディアサポートは、ビデオとオーディオの埋め込みを簡素化します。 3。フォームエンハンスメントは、検証を簡素化します。 4.オフラインおよびローカルストレージにより、ユーザーエクスペリエンスが向上します。 5。キャンバスとグラフィック機能は、Webページの視覚化を強化します。

HTML5のコア機能には、セマンティックタグ、マルチメディアサポート、オフラインストレージ、ローカルストレージ、フォームエンハンスメントが含まれます。 1。コードの読みやすさとSEO効果を改善するためのセマンティックタグなど。 2.ラベルでマルチメディアの埋め込みを簡素化します。 3。アプリケーションキャッシュやLocalStorageなどのオフラインストレージとローカルストレージは、ネットワークのない操作とデータストレージをサポートします。 4.フォームエンハンスメントでは、処理と検証を簡素化するための新しい入力タイプと検証プロパティを導入します。

H5は、さまざまな新機能と機能を提供し、フロントエンド開発の機能を大幅に向上させます。 1.マルチメディアサポート:メディアを埋め込んで要素を埋め込み、プラグインは必要ありません。 2。キャンバス:要素を使用して、2Dグラフィックとアニメーションを動的にレンダリングします。 3。ローカルストレージ:ユーザーエクスペリエンスを改善するために、ローカルストレージとセッションストレージを介して永続的なデータストレージを実装します。

H5とHTML5は異なる概念です。HTML5は、新しい要素とAPIを含むHTMLのバージョンです。 H5は、HTML5に基づくモバイルアプリケーション開発フレームワークです。 HTML5はブラウザを介してコードを解析およびレンダリングしますが、H5アプリケーションはコンテナを実行し、JavaScriptを介してネイティブコードと対話する必要があります。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

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

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

ホットトピック









