HTML5 学习笔记四(跨文档消息通信)

一、同域

父→子  方法:

⒈iframe对象:父页面的iframe中的子页面,父的iframe对象的contentWindow即为子window对象。

⒉父通过window.open()方法,其方法接收子url作为参数,方法返回值为子window对象。

 

子→父 方法:

⒈iframe:在父页面的iframe中,子页面的parent(window.parent)对象为父window.

⒉使用open()方法的父子,其子页面的window.openner即为父window对象。

 

二、跨域

在父窗口中的子window对象使用postMessage(n1,n2),n1为数据,n2为域名(必须带协议)。

子窗口通过添加message事件接收福请求,其中事件ev有origin为父域n2,data为父数据n1两属性。

 

三、跨域ajax:

除了使用Jsonp外,ajax可跨域请求,不过需后台配合,如后台php需加上header('Access-Control-Allow-Origin:源域名'),即可实现跨域。

注: IE如果想实现跨域请求,需用另外一个对象实现:XDomainRequest

增强版的ajax推荐使用onload事件来代替onreadystatechange事件,

ajax无刷新上传:通过FromData()对象添加文件file来构建提交数据。

xhr底下还有一个上传进度对象upload,上传时会触发onprogress事件,其事件ev属性有:tota为l要发数据的大小  loaded为依法数据的大小。

posted @ 2016-06-29 22:15  MadMadKen  阅读(172)  评论(0编辑  收藏  举报