html5 跨文档消息传输示例探讨

q2521500356

q2521500356

2016-02-19 11:20

下面请跟着图老师小编一起来了解下html5 跨文档消息传输示例探讨,精心挑选的内容希望大家喜欢,不要忘记点个赞哦!
对窗口对象的message事件进行监听

代码如下:

window.addEventListener("message", function(event) {
// 处理程序代码
}, false);

使用window对象的postMessage()方法向其他窗口发送消息,该方法的定义如下:

代码如下:

otherwindow.postMessage(message, targetOrigin);

该方法使用两个参数:第一个参数为所发送的消息文本,但也可以是任何JavaScript对象(通过JSON转换对象为文本);第二个参数为接收消息的对象窗口的URL地址,可以在URL地址字符串中使用通配符*指定全部地址,不过建议使用准确的URL地址。otherwindow为要发送窗口对象的引用,可以通过window.open()方法返回该对象,或通过对window.frames数组指定序号(index)或名字的方式来返回单个frame所属性的窗口对象。
示例

代码如下:

!DOCTYPE html
html
head
meta charset="UTF-8"/
title跨文档消息传输示例主文档/title
script type="text/javascript" src="http://code.jquery.com/jquery-1.6.4.min.js"/script
script type="text/javascript"
$(function() {
// 监听message事件。
window.addEventListener("message", function(event) {
// 忽略指定URL之外的页面发送的消息。
if(event.origin != "http://www.blue-butterfly.net") return;
alert(event.data); // 显示消息。
}, false);
$("#iframeContent").load(function(event) {
// 向子页面发送消息
this[0].postMessage("Hello", "http://www.blue-butterfly.net/test/");
});
});
/script
/head
body
header
h1跨域通信示例/h1
/header
iframe id="iframeContent" width="400" src="http://www.blue-butterfly.net/test/"/iframe
/body
/html

子页面中的代码如下:


代码如下:

!DOCTYPE html
html
head
meta charset="UTF-8"/
script type="text/javascript" src="http://code.jquery.com/jquery-1.6.4.min.js"/script
script type="text/javascript"
$(function() {
window.addEventListener("message", function(event) {
if(event.origin != "http://Lulingniu") return;
$("#console").append(event.origin).append("传来的消息:").append(event.data);
// 向主页面发送消息。
event.source.postMessage("Hello, there is :" + this.location, event.origin);
}, false);
});
/script
/head
body
p这是iframe中的内容。/p
div id="console"/div
/body
/html

•通过对window对象的message事件进行监听,可以接收消息。
•通过访问message事件的origin属性,可以获取消息的发送源(本例中主页面的发送源为http://Lulingniu,子页面的发送源为http://www.blue-butterfly.net)。注意:发送源与网站的URL地址不是一个概念,发送源只包括域名与端口号,为了不接收其他源恶意发送过来的消息,最好对发送源做检查。
•通过访问message事件的data属性,可以取得消息内容(可以是任何JavaScript对象,使用JSON)。
•使用postMessage()方法发送消息。
•通过访问message事件的source属性,可以获取消息发送源的窗口的代理对象。
展开更多 50%)
分享

猜你喜欢

html5 跨文档消息传输示例探讨

Web开发
html5 跨文档消息传输示例探讨

HTML5 window/iframe跨域传递消息 API介绍

Web开发
HTML5 window/iframe跨域传递消息 API介绍

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

html5 canvas 使用示例

Web开发
html5 canvas 使用示例

html5 offlline 缓存使用示例

Web开发
html5 offlline 缓存使用示例

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

html5弹跳球示例代码

Web开发
html5弹跳球示例代码

使用HTML5拍照示例代码

Web开发
使用HTML5拍照示例代码

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

FTP无法连接上传怎么办

FTP无法连接上传怎么办

android 加载本地联系人实现方法

android 加载本地联系人实现方法
下拉加载更多内容 ↓