window.name实现的跨域数据传输
这篇文章是对 JavaScript跨域总结与解决办法 的补充。
有三个页面:
[*]a.com/app.html:应用页面。
[*]a.com/proxy.html:代理文件,一般是一个没有任何内容的html文件,需要和应用页面在同一域下。
[*]b.com/data.html:应用页面需要获取数据的页面,可称为数据页面。
实现起来基本步骤如下:
<ol style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 50px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; font-size: 14px; line-height: 25px; margin: 0px;"><li style="padding: 0px; margin: 0px;">在应用页面(a.com/app.html)中创建一个iframe,把其src指向数据页面(b.com/data.html)。
数据页面会把数据附加到这个iframe的window.name上,data.html代码如下:<div style="padding: 0px; margin: 0px;" class="rainman-code"><script type="text/javascript"> window.name = 'I was there!'; // 这里是要传输的数据,大小一般为2M,IE和firefox下可以大至32M左右 // 数据格式可以自定义,如json、字符串</script>
页:
[1]