您的位置:首页 > Web前端 > JavaScript

【js学习笔记-080】-----不严格的同源策略

2014-01-04 22:47 253 查看



1. 设置Document的domain属性:

对于使用多个子域的大站点home.example.com 可能需要读取order.example.com文档的属性。根据同源策略它是不被允许的,那么为了支持这种多域名站点,可以使用Documnet.domain属性。

默认它存放的是载入文档的服务器的主机名。可以设置这一属性,不过使用字符串必须具有有效的域前缀或它本身。所以它的值必须有点号,不能设置为"com"或其它顶级域名

如果两个窗口包含的脚本把domain设置成相同的值,那么这两个窗口就不再受同源策略的约束,它们可以相互读取对方的属性。

2. 跨域共享资源

Cross-OriginResource Sharing ----这个标准草案用新的“Origin”请求头和“Access-Control-Allow-Origin”响应头来扩展HTTP。它允许服务器用头信息显式地列出源,或使用通配符来匹配所有的源并允许由任何地址请求文件。firefox3.5 safari 4 可以使用这种头信息来允许跨域http请求,同样XMLHttpRequest就不会被同源策略所限制了。

3. 跨文档消息

允许来自一个文档的脚本可以传递文本消息到另一个文档里的脚本,而不管脚本的来源是否相同。调用window对象的postMessage()方法,可以异步传递消息事件(可以用onmessage事件句柄处理函数来处理它)到窗口的文档里。注意一个文档里的脚本还是不能调用在其它文档里的方法和读取属性。但它可以用这种消息传递技术来实现安全的通信。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: