この記事では、主にHTML5の通信APIの基本的な使用方法を紹介します。この記事には、リアルタイムおよびクロスドメイン通信を構築するための2つの重要なモジュールが含まれます。クロスドキュメントメッセージ通信とXMLHTTPREQUESTレベル2。必要な友人は、次の1を参照できます。
クロスドキュメントメッセージ通信は、IFRAME、タブ、およびウィンドウの間でクロスオリジン通信が安全に行われるようにすることができます。ポストメッサージAPIをメッセージを送信する標準的な方法として定義します。ポストメサージを使用してメッセージを送信するのは非常に簡単です。コードは次のとおりです。
chatframe.contextwindow.postmessage( 'hello、world'、 'http://www.example.com');
メッセージを受信するときは、ページにイベント処理機能を追加するだけです。メッセージが届くと、メッセージのソースをチェックしてメッセージを処理するかどうかが決定されます。
メッセージイベントは、データとOriginの属性を備えたDOMイベントです。データ属性は、送信者によって渡された実際のメッセージであり、Origin属性は送信ソースです。
ポストメッサージAPIは、相同ドキュメント間の通信だけでなく、ブラウザが非相互通信を許可しない場合にも役立ちます。一貫性と使いやすさを考えると、相同文書間で通信する際には、ポストメサージもお勧めします。 HTML5 Webワーカー通信を使用する場合など、JavaScript環境での通信では、メッサージ後のAPIを常に使用する必要があります。
1.1ソースセキュリティを理解しますHTML5 Gloryはじめにソース(Origin)の概念は、ドメインセキュリティを明確にし、改善しました。ソースは、ネットワーク上の信頼関係を確立するために使用されるアドレスのサブセットです。ソースは、ルール、ホスト、ポートで構成されています。
ソースの概念はパスを考慮していません。
HTML5は、ソースのシリアル化を定義します。ソースは、APIおよびプロトコルの文字列として表示されます。
ポストメサージのセキュリティルールは、メッセージが予期しないソースページに配信されないようにします。メッセージを送信するとき、送信者は受信機のソースを定義します。 Postmessageを呼び出すために送信されるウィンドウに特定のソースがない場合(たとえば、ユーザーが別のサイトにジャンプします)、ブラウザはメッセージを送信しません。
同様に、メッセージを受信する場合、送信者のソースもメッセージの一部として使用されます。偽造を避けるために、メッセージソースはブラウザによって提供されます。受信者は、どのメッセージを処理するか、どのメッセージを無視するかを決定できます。信頼できるソースからのみメッセージを処理するようブラウザに指示するホワイトリストを維持できます。
サードパーティの文字列を評価しないことが最善です。さらに、評価方法を使用してアプリケーション内部文字列を処理しないでください。 window.jsonまたはjson、.orgパーサーを介してJSONを使用できます。
1.2クロスドキュメントメッセージ通信のブラウザサポート一般的な慣行は、xmlhttprequestオブジェクトにwithcredentialsプロパティが存在するかどうかを検出することです。
JavaScriptコードコピーコンテンツにクリップボードに