HTML5 中的跨文档通信

浏览器在不同域下的JS是不能进行通信的,如:

Main.htm部署的地址为http://127.0.0.1:8080/main.htm

SubPage.htm部署地址为http://localhost:8081/subpage.htm

main.html 代码

subpage.htm

浏览主页面http://127.0.0.1:8080/main.htm,点击子页面的发送按扭会报跨域访问权限错误(用的Google Chrome)

subpage.htm

 

HTML5中提供了跨域访问的window.postMessage()方法发送消息和监听事件MessageEvent

修改main.htm页面代码

修改后main.htm
修改后subpage.htm


以上Demo在IE9和Google Chrome中测试通过。

在SubPage中使用了main.htm中的postMessage方法发送数据,再通过MessageEvent事件监听

也就是说HTML5提供了一个可以跨域访问的接口postMessage和一个监听跨域消息的事件MessageEvent。由postMessage方法来接收消息,再由MessageEvent处理消息

没有找到Html5的离线版SDK,哪位大神有的话发一份给我(xuf22@126.com),谢谢

原文地址:https://www.cnblogs.com/xuf22/p/2105855.html