Javascript 跨域AJAX调用,授权文件';什么内容?
我想在我的网站上为其他网站提供一个横幅,但我想在我的服务器上保留这个横幅,并让他们使用javascript将其包括在内,就像Facebook插件/谷歌广告一样 横幅位于站点A。在站点B,我有以下代码:Javascript 跨域AJAX调用,授权文件';什么内容?,javascript,ajax,Javascript,Ajax,我想在我的网站上为其他网站提供一个横幅,但我想在我的服务器上保留这个横幅,并让他们使用javascript将其包括在内,就像Facebook插件/谷歌广告一样 横幅位于站点A。在站点B,我有以下代码: <div id="bannerContainer"></div> <script type="text/javascript" src="http://mysite.com/plugins/includebanner.js"></script> 如
<div id="bannerContainer"></div>
<script type="text/javascript" src="http://mysite.com/plugins/includebanner.js"></script>
如何允许所有网站都包含该横幅?是否有其他简单的方法可以从其他站点将横幅包含在站点a中
编辑:
This is the script that requests the content:
function ajax(url, id_contenedor)
{
var pagina_requerida = false;
if (window.XMLHttpRequest)
{
pagina_requerida = new XMLHttpRequest ();
} else if (window.ActiveXObject)
{
try
{
pagina_requerida = new ActiveXObject ("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
pagina_requerida = new ActiveXObject ("Microsoft.XMLHTTP");
}
catch (e)
{
}
}
}
else
return false;
pagina_requerida.onreadystatechange = function ()
{
cargarpagina (pagina_requerida, id_contenedor);
}
pagina_requerida.open ('GET', url, true); // asignamos los métodos open y send
pagina_requerida.send (null);
}
function cargarpagina (pagina_requerida, id_contenedor)
{
if (pagina_requerida.readyState == 4 && (pagina_requerida.status == 200 || window.location.href.indexOf ("http") == - 1))
document.getElementById (id_contenedor).innerHTML = pagina_requerida.responseText;
}
ajax('http://lujanventas.com/plugins/banner/index.php', 'banner-root');
您似乎遇到了正常的JS跨站点脚本限制。默认情况下,跨站点脚本功能会对调用端点的内容和用户施加一些限制。您没有提供任何代码方面的示例,但您可以查看此链接作为示例: 编辑:
This is the script that requests the content:
function ajax(url, id_contenedor)
{
var pagina_requerida = false;
if (window.XMLHttpRequest)
{
pagina_requerida = new XMLHttpRequest ();
} else if (window.ActiveXObject)
{
try
{
pagina_requerida = new ActiveXObject ("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
pagina_requerida = new ActiveXObject ("Microsoft.XMLHTTP");
}
catch (e)
{
}
}
}
else
return false;
pagina_requerida.onreadystatechange = function ()
{
cargarpagina (pagina_requerida, id_contenedor);
}
pagina_requerida.open ('GET', url, true); // asignamos los métodos open y send
pagina_requerida.send (null);
}
function cargarpagina (pagina_requerida, id_contenedor)
{
if (pagina_requerida.readyState == 4 && (pagina_requerida.status == 200 || window.location.href.indexOf ("http") == - 1))
document.getElementById (id_contenedor).innerHTML = pagina_requerida.responseText;
}
ajax('http://lujanventas.com/plugins/banner/index.php', 'banner-root');
查看JavaScript调用本身会有帮助,但如果你将错误插入Google或Bing,我的第一个结果是另一个SO帖子:使用JavaScript/jquery,你可以绘制一个iframe而不是div,并将其src属性设置为你的横幅的url
$('<iframe />', {
name: 'myFrame',
id: 'myFrame',
src: 'http://www.mywebsite.com/'
}).appendTo('body');
$(“”{
名称:“myFrame”,
id:'我的框架',
src:'http://www.mywebsite.com/'
}).附于(“主体”);
我刚刚添加了对我所做工作的描述。我不认为我能做到这一点,因为我不能使用PHP。如果框架不是一个好主意,为什么不解决OP存在的错误,而不是恢复到一组遗留代码来绕过它呢?可能有更好的方法,比如代理反转,但他要求的是一个简单的javascript解决方案,不是吗?当然,我只是想尽可能避免使用iFrame,看起来这应该像他们试图做的那样,但是JS一般来说可能有问题,但是没有提供代码。我只是添加了代码。我认为没有必要,因为这是一个常规的ajax调用。