我是否可以为客户端提供HTML代码段,其中包含对我托管的javascript文件的引用?他们希望将此HTML粘贴到他们的CMS中,这样当他们的页面加载时,它就会加载我们的内容。
我的印象是有跨域安全阻止这种情况发生。
如果我没有链接到JavaScript,而是将已包含的JavaScript的HTML片段提供给他们,该怎么办
所以而不是
<div>
<!-- link to js -->
</div>
我给了他们
<div>
$.get(/*url to my content*/);
</div>
那会有用吗?
答案 0 :(得分:1)
我是否可以为客户提供HTML代码段,其中包含对我托管的javascript文件的引用?
是。脚本元素的src没有相同的原点限制。
$.get(/*url to my content*/);
XMLHttpRequests仍然具有相同的原始限制。 XHR只能从页面的域中获取,而不能从脚本中获取。
答案 1 :(得分:1)
您可以使用JSONP来模拟跨域AJAX调用(仅适用于GET请求,因为它在内部使用script
标记):
$.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=?",
function(data) {
$.each(data.items, function(i,item) {
$("<img/>").attr("src", item.media.m).appendTo("#images");
if ( i == 3 ) return false;
});
}
);
答案 2 :(得分:1)
HTML <script>
代码免于同一原始政策,因此如果您的客户使用<script>
代码链接到您的JavaScript文件,则不会有任何问题。 (Source)
答案 3 :(得分:0)
从其他域引用javascript文件没问题。这不是跨站点脚本,它只是一个跨站点HTTP请求。这被大量使用,例如通过Google的JavaScript API Loader。