首页 > 代码库 > window.name的特性是什么?

window.name的特性是什么?

window.name的特性

window.name 的美妙之处:name 值在不同的页面(甚至不同域名)加载后依旧存在,并且可以支持非常长的 name 值(2MB)。

window.name的应用--跨域传输数据

具体实现流程

  1. 准备仨页面, a.com/app.html, a.com/proxy.html, b.com/data.html
  2. app.html创建<iframe>, src指向b.com/data.html,然后设置iframe的contentWindow.name属性
  3. <iframe>的src指向回同域名的a.com/proxy.html,获取contentWindow.name属性,即获取跨域数据了
  4. 销毁<iframe>

详细请参考:http://www.cnblogs.com/rainman/archive/2011/02/21/1960044.html

原理:http://www.jb51.net/article/15724.htm

跨域封装:http://kingwell-leng.iteye.com/blog/1921208

安全性

利用iframe的window.name来实现跨域数据传输是安全的,因为windowName模块总是在一个 iframe中加载资源,并且一旦获取到数据,或者当你在最顶层浏览了一个新页面,这个 iframe 将被销毁,所以其他页面永远访问不到 window.name 属性。

了解更多关于跨域技术,可参考:http://blog.sina.com.cn/s/blog_4714e4780100vdur.html