H5的postMessage解决跨域问题
来源:互联网 发布:免费看书软件哪个好 编辑:程序博客网 时间:2024/05/01 01:09
为了解决的问题:
1、页面与其它窗口的数据传递
2、页面与嵌套的iframe的数据传递
3、跨域数据传递
HTML5引入了message的API,使用postMessage()方法可以允许来自不同域的脚本异步方式通信,可以实现跨文本档、多窗口、跨域的消息传递
参数
postMessage(data, origin)
data:需要传递的数据,因为部分浏览器只能处理字符串类型,所以需要JSON.stringify序列化一下
origin:字符串,指明目标窗口的源,也可以设置为*,即表示不限制,当然,为了安全考虑,建议设置
例子:
//假设访问地址是http://test.com/index.html<div><iframe id="child" src="http://kong.com/index.html" /></div>//在test中向跨域的子页面iframe传递信息window.onload = function(){window.frames[0].postMessage('getInfo', 'http://kong.com')}//子页面即kong.com接收消息window.addEventListener('message', function(e){//e对象包含了发送源的一些信息,为了安全起见,可以处理下数据来源方的判断if(e.source !== window.parent){return;}alert(e.data);window.parent.postMessage('ok', '*');})注意:有些浏览器不支持window.onmessage=function(){}这种写法,为了兼容IE,也要判断是否支持addEventListener
参考链接:
http://www.cnblogs.com/dolphinX/p/3464056.html
阅读全文
0 0
- H5的postMessage解决跨域问题
- window.postMessage解决前端ajax跨域问题
- postMessage 解决窗口跨域消息传递
- html5 postMessage跨域通信 1.解决页面与嵌套的iframe消息传递
- h5 postMessage 注意事项
- h5新属性postmessage
- html5 postMessage解决跨域、跨窗口消息传递
- html5 postMessage解决跨域、跨窗口消息传递
- html5 postMessage解决跨域、跨窗口消息传递
- HTML5 postMessage解决跨域、跨iframe窗口消息传递
- html5 postMessage解决跨域、跨窗口消息传递
- html5 postMessage解决跨域、跨窗口消息传递
- html5 postMessage解决跨域、跨窗口消息传递
- html5 postMessage解决跨域、跨窗口消息传递
- html5 postMessage解决跨域、跨窗口消息传递
- html5 postMessage解决跨域、跨窗口消息传递
- html5 postMessage解决跨域和跨窗口消息传递
- html5 postMessage解决跨域、跨窗口消息传递
- greenlet 详解
- 经典目标检测算法—背景差分法、帧差法和三帧差法
- redis 配置文件示例
- Faster R-CNN中的anchors和YOLO中的grid的理解
- 河南省第十届ACM比赛题解
- H5的postMessage解决跨域问题
- python yield generator 详解
- MYSQL解析2017/5/24
- fedora修改hostname
- java 方法以及方法的重载
- postgres的备份(Linux)与恢复(Windows)
- bl31的执行
- 列表中播放 videoview 仿内涵段子
- 不懂提高简历命中率?难怪没有面试!