• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >html5 > HTML5之window.postMessage API

HTML5之window.postMessage API

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-03

本文主要包含HTML5,API,window.postMessage等相关知识,匿名希望在学习及工作中可以帮助到您

  window.postMessage是一个鲜为人知的HTML5 API。 window.postMessage允许两个窗口/帧之间跨域发送数据消息。从本质上讲,window.postMessage是一个跨域的无服务器垫片的Ajax。让我们一起来看看window.postMessage的例子,以及如何在火狐,IE8+,Opera,Safari和Chrome浏览器中使用它。

1164.jpg

  第一部分:发送者

  程序的第一步是建立一个源,在这个源里面,我们将打开一个窗口(或者是iframe,如果你更喜欢的话),给另外新的窗口发送消息(因为是例子的缘故,我们将每6秒发送一次消息,同时并创建一个事件监听器监听我们收到的从目标窗口任何回应。)

1165.jpg

  我使用是在IE中无法工作的window.addEventListener方法(IE中window.attachEvent方法)。你可以使用MooTools/jQuery/Dojo库中做了兼容处理的方法。

  假设正确的打开了窗口,我们发送消息所指定的URI信息(包括协议,主机名和端口,如果存在的话),必须当时存在(因为用户可能已经改变的随后窗口的地址),如果这个目标窗口不存在,消息将无法发送。

  我们还要创建了一个事件处理程序,用于接收消息。这是非常重要的,您必须验证事件起源当接收到一个消息,因为消息处理程序接受来自任何URI的消息!原点一旦通过验证,你可以在任何你喜欢的方式处理所接受到的消息。

  使用iframe的时候如下:

1166.jpg

  必须访问iframe的contentWindow属性——而不是节点本身。

  第二部分:目标窗口

  程序的第二部分是目标窗口的准备。目标窗口建立“message”事件的事件侦听器,同时应该验证信息的来源。同样的,消息事件接受从任何位置。所以建立一个信任源列表来验证消息源是很重要的。

1167.jpg

  面的示例代码是目标窗口发送一个消息回应给发送方,确认消息已经收到了。这些事件属性十分重要:

  source——发送消息的来源窗口或者iframe

  origin——发送消息的URI(包括协议,域名和端口,如果有的话)

  data——接受的消息内容

  这三个属性对验证消息十分重要。

  使用window.postMessage注意


  像其他web技术一样,如果使用不当,就会很危险。如果没有验证消息源,它将威胁应用程序的安全。window.postmessage就像JavaScript式的PHP这方面的技术。window.postMessage很酷,不是吗?

以上就是HTML5之window.postMessage API的内容,更多相关内容请关注微课江湖()!

您可能想查找下面的文章:

  • HTML5知识点总结
  • HTML5的本地存储
  • HTML5本地存储之IndexedDB
  • Html5实现文件异步上传功能
  • Html5新标签datalist实现输入框与后台数据库数据的动态匹配
  • 详解HTML5 window.postMessage与跨域
  • HTML5拖放API实现拖放排序的实例代码
  • 解决html5中video标签无法播放mp4问题的办法
  • HTML5新特性 多线程(Worker SharedWorker)
  • Html5新增标签有哪些

相关文章

  • 2018-12-03分享几个html5冷门小知识
  • 2018-12-03淘宝网触屏版为什么rem跟px混用?有什么好处?为什么不都用rem?
  • 2018-12-03如何使用<nav>链接实现滚动到页面某一部分
  • 2017-08-06HTML5之SVG 2D入门7—SVG元素的重用与引用
  • 2018-12-03HTML5实战与剖析之媒体元素(4、检测编解码器的支持和Audio构造函数)
  • 2017-08-06HTML5 Canvas的性能提高技巧经验分享
  • 2018-12-03Application Cache未缓存文件无法访问无法加载问题_html5教程技巧
  • 2018-12-03详细介绍HTML5模拟齿轮动画的代码示例详情
  • 2017-08-0610个最常见的HTML5面试题 附答案
  • 2018-12-03一个有 15 个页面的项目怎么规范 css 样式?

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • HTML5高级编程之图形扭曲及其应用三(扩展篇)
    • 如何看待《HTML5 定稿:手机 App 三年内将彻底消失?》
    • HTML5架构(HTML5 Boilerplates )
    • SVG基础|SVG图形填充颜色
    • HTML5 自动聚焦(autofocus)属性使用介绍_html5教程技巧
    • before :after怎么输出一个小三角形
    • h5自定义audio的解析
    • html5新增标签--nav标签介绍
    • html5中valid、invalid、required的定义_html5教程技巧
    • 用H5实现手机摇一摇的实例详解

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有