Web 通信技术 ——跨文档信息传输(JavaScript)
*/
* Copyright (c) 2016,烟台大学计算机与控制工程学院
* All rights reserved.
* 文件名:text.html
* 作者:常轩
* 微信公众号:Worldhello
* 完成日期:2016年11月2日
* 版本号:V1.0
* 程序输入:无
* 程序输出:见运行结果
*/
Web 通信新技术 ——跨文档信息传输
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<!-- <meta http-equiv="refresh" content="5">-->
<title>postMessage子页面</title>
</head>
<body>
<div>
<p>接受来自:</p>
<h1 id="h1"></h1>
<p>的消息:</p>
<h1 id="p_text"></h1>
</div>
<input id="texts" type="text" name="textss">
<script type="text/javascript">
// 窗口事件监听:监听message
window.addEventListener("message",function(e){
var sts="123";
// e.origin:发送消息的地址,谁发的消息就是谁的
// 接收时候,可以加个判断;避免接收来源不明的URL发过来的数据
//if( e.origin != "" ){
// return;
// }
document.getElementById("h1").innerHTML = e.origin;
// e.data:发消息的内容
document.getElementById("p_text").innerHTML = e.data;
// 接收到消息后,在回过去,回个话;
// 通过访问message的source的属性,来获取消息发送源的窗口对象,
// 也就是能知道是谁发的消息,在通过postMessage,给发消息者回个话
e.source.postMessage(sts,e.origin);
},false);
</script> </body>
</html>
接收页面:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<!-- <meta http-equiv="refresh" content="5">-->
<title>postMessage主页面</title>
</head>
<body>
<div>
<p>接受来自:</p>
<h1 id="h1"></h1>
<p>的消息:</p>
<h1 id="p_text"></h1>
</div> <iframe width="500px" height="500px" id="iframe"
src="http://1.aboutxuan.applinzi.com/test/test.html"
onload="send()">
</iframe>
<script type="text/javascript">
// 窗口事件监听:监听message
window.addEventListener("message",function(e){
// e.origin:发送消息的地址,谁发的消息就是谁的
// 接收时候,可以加个判断;避免接收来源不明的URL发过来的数据
//if( e.origin != "http://www.aboutxuan.applinzi.com" ){
// return;
//}
document.getElementById("h1").innerHTML = e.origin;
// e.data:发消息的内容
document.getElementById("p_text").innerHTML = e.data;
},false); // 发消息
function send(){
// 获取嵌入的iframe
var iframe = window.frames[0],
send_origin = document.getElementById("iframe").getAttribute("src");
iframe.postMessage("我是父页面的消息",send_origin);
}
</script>
</body>
</html>
从自己想实现这一个功能到大体可以实现,花了点功夫。因为没有人带,所以走了些弯路。虽然现在只是有个雏形,不过还是有信心做出点东西的。加油!!!
Web 通信技术 ——跨文档信息传输(JavaScript)的更多相关文章
- web通信之跨文档通信 postMessage
index.html <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type&qu ...
- HTML5跨文档消息传递
HTML5定义了一些javascript API,其中有一个就是跨文档消息传递(cross-document-messaging简称XDM). 现在XDM已经作为一个规范独立了出来,名字为:Web M ...
- 通过Html5的postMessage和onMessage方法实现跨域跨文档请求访问
在项目中有应用到不同的子项目,通过不同的二级域名实现相互调用功能.其中一个功能是将播放器作为单独的二级域名的请求接口,其他项目必须根据该二级域名调用播放器.最近需要实现视频播放完毕后的事件触发,调用父 ...
- 跨文档消息传递----postMessage()
HTML5 规范中,提出了XDM,又称为 跨文档消息传递,其核心是 postMessage()方法,进行跨域和跨文档消息传递,示例如下: <div class="CrossDocume ...
- HTML(六)HTML iframe 使用postMessage方法进行跨文档消息传递
什么是iframe HTML内联框架元素 <iframe> 表示嵌套的浏览上下文,有效地将另一个HTML页面嵌入到当前页面中. <iframe id="inlineFram ...
- HTML5实战与剖析之跨文档消息传递(iframe传递信息)
在来自不同域名的页面间传递消息一般统称为跨文档消息传送,简称XDM.如,www.leemagnum.com域中的页面与位于一个内嵌框架中的http://blog.csdn.net/lee_magnum ...
- HTML5 跨文档消息传输
对窗口对象的message事件进行监听 window.addEventListener("message", function(event) { // 处理程序代码 }, fals ...
- Web页面引入文档编辑器报风险
Web页面引入文档编辑器会报风险,则需要以下操作: <system.web> <httpRuntime requestValidationMode="2.0" / ...
- HTML5中的跨文档消息传递
跨文档消息传送(cross-document messaging),有时候也简称为XDM,指的是来自不同域的页面间传递消息.例如,www.w3cmm.com域中的一个页面与一个位于内嵌框架中的p2p. ...
随机推荐
- TPO3-2Deletion of Ogallala Aquifer
In the face of the upcoming water supply crisis, a number of grandiose schemes have been developed t ...
- D. Fish eating fruit
题:https://nanti.jisuanke.com/t/41403 题意:求任意俩点之间距离之和模3后的三个结果的总数(原距离之和) 第一种做法: 树形dp #include<bits/s ...
- 记一次关于JDBCUtils工具类的编写
jdbc.properties数据库配置的属性文件内容如下 jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost/xxxx ...
- Andriod常用控件介绍&相关属性(初学方便查询)
一.TextView(显示控件) android:id(给当前控件定义唯一的标识符)——示例:android:id = "@+id/text_view" android:layou ...
- 算法之匹配:KMP
public static int getIndexOf(String str1, String str2) { if (str1 == null || str2 == null || str1.le ...
- Django学习之视图层
视图层 小白必会三板斧 HttpResponse render redirect django视图函数必须要给返回一个HttpResponse对象(render和redirect内部返回的也是一个Ht ...
- 吴裕雄--天生自然python学习笔记:python文档操作自动生成菜单 Word 文件
许多学校营养午餐的菜单是由教师来轮流制作 ,这是一个 比较烦锁的工作,如 果能自动用教师最熟悉的 Word 文件来生成一个菜单文件,使教师对生成的菜单稍作 修改即可使用,那将是一个不错的主意. 案例要 ...
- LeetCode No.73,74,75
No.73 SetZeroes 矩阵置零 题目 给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0.请使用原地算法. 示例 输入: [ [1,1,1], [ ...
- 之前工作过程中自定义的代码生成器模版,codesimit
动软代码生成器 和codesmith 5年前的东西,或许有些过时 动软的功能有限,改的也比较简单,已弃. codesmith可定制性强,当时自已改的,提高了团队的整体工作效率. codesmith代码 ...
- python数据类型:字典Dictionary
python数据类型:字典Dictionary 字典是一种可变容器模型,可以存储任意类型对象 键是唯一的,但是值不需要唯一 值可以取任何数据类型,但是键必须是不可变的,如字符串,数字,元组 创建字典: ...