客户端能否链接到托管在不同域上的我的JavaScript?
我是否可以向客户机提供一段HTML,其中包含对我托管的javascript文件的引用?他们想将这个HTML粘贴到他们的CMS中,这样当他们的页面加载时,它就会加载我们的内容 我的印象是,有跨域安全性阻止了这一点 如果我没有链接到JavaScript,而是给了他们已经包含JavaScript的HTML片段呢 所以不是客户端能否链接到托管在不同域上的我的JavaScript?,javascript,jquery,html,cross-domain,Javascript,Jquery,Html,Cross Domain,我是否可以向客户机提供一段HTML,其中包含对我托管的javascript文件的引用?他们想将这个HTML粘贴到他们的CMS中,这样当他们的页面加载时,它就会加载我们的内容 我的印象是,有跨域安全性阻止了这一点 如果我没有链接到JavaScript,而是给了他们已经包含JavaScript的HTML片段呢 所以不是 <div> <!-- link to js --> </div> 我给他们 <div> $.get(/*url
<div>
<!-- link to js -->
</div>
我给他们
<div>
$.get(/*url to my content*/);
</div>
$.get(/*指向我的内容的url*/);
这样行吗
我是否可以向客户机提供一段HTML,其中包含对我托管的javascript文件的引用
对。脚本元素的src没有相同的原点限制
$.get(/*url到我的内容*/)代码>
XMLHttpRequests仍然具有相同的原始限制。XHR只能从页面的域中获取,而不能从脚本中获取。可以用来模拟跨域AJAX调用(仅适用于GET请求,因为它在内部使用脚本标记):
$.getJSON(“http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=?",
功能(数据){
$.each(data.items,function(i,item){
$("引用来自不同域的javascript文件没有问题。这不是跨站点脚本,它只是一个跨站点HTTP请求。这经常被使用,例如Google的javascript API加载器。HTML
标记不受同源策略的约束,因此如果您的客户端使用
标记链接到您的javascript文件s、 你不会有任何问题。(当你说“加载我们的内容”时,这是javascript内容,还是还有其他内容?@Daniel,谢谢,但我不确定你在这里的意思-你说的客户端用标签链接到我的js文件是什么意思?
$.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;
});
}
);