window.name
a.html
<script>
window.name = 'this ia a ';
location.href = 'b.html';
</script>
b.html
<script>
console.log( window.name );
</script>
当从a.html 跳转到 b.html 后window.name的值仍然是a.html所设置的
通过window.name+iframe实现跨域请求
如http://www.a.com/a.html 访问 http://www.b.com/b.html中的window.name值
1. 在a.html中内嵌iframe,其src属性指向b.html
2. 更改iframe的src属性为"about:blank", 来实现iframe内跳转
3. 获取iframe.contentWindow.n...
正常情况下JavaScript脚本受同源策略只能访问与其同一域下的资源。
什么是子域间请求
比如http://www.xx.com中的www为子域, 该域名与http://api.xx.com同主域下的不同子域,当你希望在www.xx.com中利用ajax向api.xx.com发送http请求时,称为子域间的请求。即使主域虽然相同,但仍属于不同的源,正常情况下是被禁止通信的。
iframe
ajax在跨域情况下,请求会被浏览器拦截。但iframe却不会其特性如下:
访问同域页面,比如xx.html,可读写。
访问跨域页面,比如http://www.baidu.com/xx.html,只读。
document.domain
当前页面的源,即域名,其值可更改,但有一些限制,具体如下:
1. 只能往父、祖域设置,即当前域的一个后缀
2. 有端口时需注明端口号, 否则端口号被设置null
3. 需要通信的页面都...
英文为“Same-Origin Policy”
这里的源是由url的协议, 主机,端口号组成。
不同的源之前的文档是不能相互访问的
比如 http://www.xx.com/doc.html试图访问https://www.xx.com/target.html的dom结果是不被允许的, 因为其源中的协议不同。
目的
同源策略的目的在于使用户在访问不安全网站时,避免被不安全网站获取用户在使用过的安全网站中的隐私信息。
带来的问题
在开发过程中经常用到ajax, 有时会有跨域请求的需求。
最简单比如子域间请求,但因为同源策略的限制,正常情况是不允许的。
跨域情求通过适当的技术方案是可以实现的。比如,可以利用iframe,其在访问同域页面可读写,访问跨域页面只读。利用该特性,可解决子域间跨域请求,完全不同域之间请求数据...
相关参考
Same_Origin_Policy
javaScript语言有两个表示"无"的值:分别为undefined和null
null:
表示一个值被定义了,定义为“空值”
undefined
表示根本不存在赋值
这两个有什么相同和并呢?
一:相同点
1. 在javaScript中,将一个变量赋值为undefined或null,几乎没区别
var a = null;
var a = undefined;
上面代码中,a变量分别被赋值为undefined和null,这两种写法几乎相等
2. 在运算符==中是相等的
undefined == null //true
3. if条件中都被转为false
if (!undefined)
console.log('undefined is...
从事互联网网站开发工作, 前端工程师,PHP工程师
也对其它语言及手机端应用开发感兴趣,如c,go,java, python, android等
喜爱重量级开源应用,它能带来全面和稳重,也喜爱轻量级开源应用,它能带来轻巧和速度,支持开源,热爱开源,感谢开源!
个人介绍
能很快掌握一门技术并运用到项目中。勤于自测代码,bug率低。善于使用工具来改善开发速度。
联系我
英文名:Edwin
微信: yuanlingjue 点击扫二维码
Email:edwincoder@163.com
前端观察
博客园
开源中国
设计达人
腾讯ISUX
phphub
segmentfault
zhihu
原创文章采用 知识共享署名 3.0 中国大陆许可协议 进行许可。
可自由转载、引用,但需署名作者且注明文章出处。
前端
后端
PHP
Linux
设计
移动
生活
关于我
友情链接
免责声明
在线留言