欢迎光临杨雨的个人博客站!

杨雨个人网站-杨雨个人博客-杨照佳

杨雨个人博客网站

关注互联网和搜索引擎的个人博客网站

首页 > WEB开发 > html5案例分享 >

Html5 跨文档动静传输示例切磋

发布时间:2016-11-29  编辑:杨雨个人博客网站   点击:   

对窗口工具的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属性,可以获打动静发送源的窗口的署理工具。 本文地址:http://itbyc.com/web/html5/13807.html
转载请注明出处。
分享是一种快乐,也是一种美德:
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
博客首页 | WEB开发 | 网站运营 | CMS使用教程 滇ICP备14002061号-1