同源策略,外部脚本

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 会影响 iframes 和 XHR、imgcanvas 等。

script src 指向不同的主机、协议或端口并不违反此规定。这很有用,因为我们可以使用 CDN 来提供文件并使用 JSONP 进行数据传输(在 CORS 可以在任何地方使用之前 - 感谢

【讨论】:

我可以看到通过带有src属性的脚本标签包含的js的源代码吗?【参考方案2】:

same-origin-policy 表示不允许使用在其他域(即 iframe)中声明的对象等。 它不禁止从域加载脚本并在本地运行代码。 jquery 脚本中的变量不是来自另一个域,您只是从那里加载了源代码。

【讨论】:

以上是关于同源策略,外部脚本的主要内容,如果未能解决你的问题,请参考以下文章

同源策略形象解读

同源策略

外部 js 文件中的同源策略

同源策略

同源策略

同源策略