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

window.name的特性是什么?

时间: 2024-07-29 13:23:10

window.name的特性是什么?的相关文章

Window Ghosting(仍可拖动失去响应的窗口,因为我们真正的窗口已经让系统用Ghosting窗口替代了。使用IsHungAppWindow 探测)

最近工作中遇到Window Ghosting这个问题, 感觉挺有意思,这里简单记录下. 在XP时代我们的程序没有响应后只能通过任务管理器强制杀掉,但是Vista之后情况变了, 我们仍然可以拖动失去响应的窗口,甚至可以尝试最小化和关闭窗口, 我们把这个特性叫住Window Ghosting. 首先我们考虑下怎样判断一个窗口是否已经失去响应? 一般我们想到的是SendMessageTimeout,给窗口发送WM_NULL消息,判断返回是否超时.这当然也是一种方法,但是系统有更方便的API  IsHu

X Window 程式设计

X Window 程式设计 转   http://www.cppblog.com/zmj/archive/2007/05/18/24331.html X Window 程式设计 X Window 程式设计入门 http://cnpa.yzu.edu.tw/~thinker 作者:李圭烽 (Thinker; [email protected]) (2001-06-01 17:04:00) -------------------------------------------------------

Android进阶必备,Window机制探索

Window的概念 Android手机中所有的视图都是通过Window来呈现的,像常用的Activity,Dialog,PopupWindow,Toast,他们的视图都是附加在Window上的,所以可以这么说 --「Window是View的直接管理者.」 Window 一个顶级窗口查看和行为的一个抽象基类.这个类的实例作为一个顶级 View 添加到 Window Manager.它提供了一套标准的 UI 方法,比如添加背景,标题等等.当你需要用到 Window 的时候,你应该使用它的唯一实现类

JS跨域:jsonp、跨域资源共享、iframe+window.name

JS跨域:jsonp.跨域资源共享.iframe+window.name :https://www.cnblogs.com/doudoublog/p/8652213.html JS中的跨域 请求跨域有好多种, 一.跨域资源共享: 也就是设置服务端的header,可以指定哪些域名可以请求,也是最简单的跨域方式(自我感觉),并且可以支持post等等. //指定允许其他域名访问 'Access-Control-Allow-Origin:*'//或指定域 //响应类型 'Access-Control-A

ajax面试题

一.ajax及过程 创建xmlHttpRequest对象,调用open方法,调用send方法,监听xmlHttpRequest的onReadyStateChange方法 var oAjax = new XMLHttpRequest();//创建ajax对象 xhr.open("post","test.php",true); xhr.send(); xhr.onreadystatechange = function() { if(xhr.readyState == 4

再议Citrix PVS架构与机制

一.PVS是存储架构和网络计算架构 我们说Citrix PVS架构本质上是一个存储架构,是因为在Citrix PVS架构下,实现了计算和存储的分离.首先在传统的计算机上,计算资源和存储资源是同处于相同计算机内部的通过高速总线连接起来的组件,而在存储设备上,服务器本地的存储资源不在用于存储数据文件,存储数据文件的存储空间通过网络(TCP/IP or FC)传送到专门的存储控制器,由存储控制器来分配和管理这些元数据和IO,并最终将数据落地到硬盘空间存储起来.所以从原理出发,Citrix PVS就相当

看懂此文,不再困惑于 JS 中的事件设计

看懂此文,不再困惑于 JS 中的事件设计 今天刚在关注的微信公众号看到的文章,关于JS事件的,写的很详细也很容易理解,相关的知识点都有总结到,看完就有种很舒畅的感觉,该串起来的知识点都串起来了.反正一字节:爽. 作者:aitangyong 链接:blog.csdn.net/aitangyong/article/details/43231111 抽空学习了下javascript和jquery的事件设计,收获颇大,总结此贴,和大家分享. (一)事件绑定的几种方式 javascript给DOM绑定事件

看懂此文,不再困惑于javascript中的事件绑定、事件冒泡、事件捕获和事件执行顺序

最近一个项目基于3维skyline平台,进行javascript二次开发.对skyline事件的设计真是无语至极,不堪折磨啊!抽空学习了下javascript和jquery的事件设计,收获颇大,总结此贴,和大家分享. (一)事件绑定的几种方式 javascript给DOM绑定事件处理函数总的来说有2种方式:在html文档中绑定.在js代码中绑定.下面的方式1.方式2属于在html中绑定事件,方式3.方式4和方式5属于在js代码中绑定事件,其中方法5是最推荐的做法. 方式1: HTML的DOM元素

H5总结

1.新增的语义化标签: <nav>: 导航 <header>: 页眉 <footer>: 页脚 <section>:区块 <article>: 文章 <aside>: 侧边栏 <progress>: 进度条 2.兼容处理 在不支持HTML5新标签的浏览器里,会将这些新的标签解析成行内元素(inline)对待,所以我们只需要将其转换成块元素(block)即可使用,但是在IE9版本以下,并不能正常解析这些新标签,但是却可以识别