window.name的特性是什么?(mv to git)

醉酒当歌 提交于 2019-11-27 14:33:28

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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!