HTML5の新機能であるpostMessageを試しました。
postMessageとは、詳解! HTML 5と関連APIの最新動向 - Webアプリ開発編にも書かれていますが、ドメインが違うiframeにもメッセージを送信したり受信したりする機能です。
今回は、親から子供のiframeにメッセージを送信する方法を書きたいと思います。
まずは、親のページ
<html> |
iframe(子供)のページは↓
<script |
postMessageメソッドを使うことで、iframe側にメッセージを送信することができます。
postMessageメソッドの第二引数は、iframe側のドメインを設定します。
子供のiframe側には、windowオブジェクトにmessagenハンドラをバインドさせることで、メッセージをキャッチすることができます。
jQueryでbindをさせた場合、ev.originalEventの中にあるoriginプロパティーでドメインを読み取ることができて、同様にdataプロパティーで送信されたデータをキャッチすることができます。
ちなみに、送信できるメッセージは文字列のみのようです。
IEは8以降から対応しているそうなのですが、便利な機能だと思います。
(試したのは、chrome)
0 コメント:
コメントを投稿