2、同源策略 跨域
由于JavaScript同源策略的限制,JavaScript 跨域的问题,一直是一个颇为棘手的问题。
1、同源策略:
在JavaScript中,有一个很重要的安全性限制,被称为“Same-Origin Policy”(同源策略)。这一策略对于JavaScript代码能够访问的页面内容做了很重要的限制,即JavaScript只能访问与包含它的文档在同一域下的内容。所谓同源是指:域名,协议,端口相同。
2、跨域
跨域是指不同域名之间相互访问 例如[我的电脑]上有2个服务器 192.168.0.11 192.168.0.12 如果第一个服务器上的页面要访问第二个服务器 ,就叫做跨域,或者[http://www.baidu.com]要访问[http://www.xxx.com]也是不同域名 也是跨域
HTML5 里有个window.postMessage 方法,支持跨域访问,详情可以参考
[http://www.webhek.com/window-postmessage-api]
如果你的程序在服务器上,也可以进行相应的操作来完成跨域访问
(1)H5解决跨域或者同域内页面间的消息传递:
由于同源策略的限制,JavaScript 跨域的问题,一直是一个颇为棘手的问题。HTML5 提供了在网页文档之间互相接收与发送信息的功能。使用这个功能,只要获取到网页所在窗口对象的实例,不仅同源(域 + 端口号)的 Web 网页之间可以互相通信,甚至可以实现跨域通信。
要想接收从其他窗口发送来的信息,必须对窗口对象的 onmessage 事件进行监听,其它窗口可以通过 postMessage 方法来传递数据。该方法使用两个参数:第一个参数为所发送的消息文本,但也可以是任何 JavaScript 对象(通过 JSON 转换对象为文本),第二个参数为接收消息的对象窗口的 URL 地址,可以在 URL 地址字符串中使用通配符'*'指定全部地。
(2)、angularjs实现跨域(我在项目中使用的方法,tabText.js中读取存储内置样式的js文件)
![](https://img.haomeiwen.com/i2227333/8c3ce8761bc70961.png)
![](https://img.haomeiwen.com/i2227333/c649a013cd542953.png)
![](https://img.haomeiwen.com/i2227333/6892c8a3f25e291a.png)
挺好的参考文档:
http://www.cnblogs.com/rainman/archive/2011/02/20/1959325.html