同源策略,外部脚本
Posted
技术标签:
【中文标题】同源策略,外部脚本【英文标题】:Same origin policy, external script 【发布时间】:2012-09-25 05:19:47 【问题描述】:我正在阅读有关same origin policy 的信息。我知道我页面上的 js 不应该访问在不同域的 js 资源中定义的方法(以及更多)。但是,我一定误读了这一点。在我的网站中,我有一个对 code.jquery.com 域中 jquery 库的脚本引用,
<script src='http://code.jquery.com/jquery-1.8.2.js'></script>
该库中的所有内容可用于我网站上的 js 脚本。
那么,我在这里误会了什么?
【问题讨论】:
【参考方案1】:Same Origin Policy 会影响 iframe
s 和 XHR、img
和 canvas
等。
将script
src 指向不同的主机、协议或端口并不违反此规定。这很有用,因为我们可以使用 CDN 来提供文件并使用 JSONP 进行数据传输(在 CORS 可以在任何地方使用之前 - 感谢
【讨论】:
我可以看到通过带有src属性的脚本标签包含的js的源代码吗?【参考方案2】:same-origin-policy 表示不允许使用在其他域(即 iframe)中声明的对象等。 它不禁止从域加载脚本并在本地运行代码。 jquery 脚本中的变量不是来自另一个域,您只是从那里加载了源代码。
【讨论】:
以上是关于同源策略,外部脚本的主要内容,如果未能解决你的问题,请参考以下文章