js跨域涉及代理页面的解决方案的原理


window.name:iframe目标与宿主都可以访问iframe对应window的name属性(同域时),srouce通过iframe引用target,target接受请求后给出数据放置于target的window.name中,即source的iframe的contentWindow.name中

代理的原理是利用一个iframe对应一个window即contentWindow,一个window对应一个name,window的location的变化不会引起name的变化。需要代理时,只需使iframe的contentWindow.location指向proxy,此时contentWindow.name不会改变。


location.hash:原理是target可以访问target的location,source可以一开始通过设置iframe的src写入hash,此时source向iframe传消息;target通过parent.location.hash或代理向source传消息。

代理的原理是source用iframe引用target,target用iframe引用proxy,source与proxy同域,所以proxy可以通过 parent.parent来访问到source。

本文出自 “DSpace” 博客,请务必保留此出处http://smqhws.blog.51cto.com/2365786/1364617

js跨域涉及代理页面的解决方案的原理,布布扣,bubuko.com

js跨域涉及代理页面的解决方案的原理

上一篇:使用Corosync+Pacemaker+nfs 实现高可用的Web集群


下一篇:jQuery判断浏览器类型