Author: 刘老师(Aaron Lau)
武汉长乐教育,武汉PHP培训课程,版权所有,转载请注明!
HTML5中使用postMessage跨域发送消息
HTML5
中, 对跨域请求
有了新的支持, 主要用在iframe
或新开窗口
中, 我个人暂时认为用途不是太大. 下面还是介绍一下postMessage
的相关知识.
本课摘要
发送信息
收取信息
- 完整实例
1. 发送信息
方法原型
otherWindow.postMessage(message, targetOrigin);
otherWindow: 指目标窗口,也就是给哪个window发消息,是 window.frames 属性的成员或者由 window.open 方法创建的窗口
参数说明:
-
message: 是要发送的消息,类型为 String、Object (IE8、9 不支持)
- targetOrigin: 是限定消息接收范围,不限制请使用 '*'
例子:
var email = "canonpd@163.com";
var origin = "http://127.0.0.1:3000/index.html";
window.parent.postMessage(email, origin);
2. 收取信息
//jQuery方法
$(function(){
$(window).bind("message",function(event){
console.log(event);
console.log(event.originalEvent.data);
});
});
//javascript原生方法
window.addEventListener( "message",
function(e){
console.log(e.data);
},false);
3. 完整实例
点击查看
实例中使用了ruby做服务器, 进入两个目录, 分别运行
ruby server.rb
端口号, 请自行修改.
然后请访问http://127.0.0.1:3000, 查看示例.