gpt4 book ai didi

javascript - 拒绝访问 IE 上的 jQuery 脚本

转载 作者:IT王子 更新时间:2023-10-29 03:03:40 25 4
gpt4 key购买 nike

我有一个使用 jQuery 1.4.2 脚本的 iframe。 httphttps 站点中都注入(inject)了相同的 iframe。 jQuery 脚本作为相对路径包含在主 HTML 文件中(例如,/scripts/jquery-1.4.2.min.js)。

进行 AJAX 调用时,Internet Explorer 会拒绝访问。 AJAX 正在调用另一个子域,但它使用的是正确的协议(protocol)。所有其他浏览器都可以工作,但 Internet Explorer 会出现以下错误:

SCRIPT5: Access is denied.
jquery-1.4.2.min.js, line 127 character 344

我听说这个错误来自跨域 AJAX 调用。但为什么 IE 是唯一一个给我废话的人?有IE解决方案吗?

此外,这是我的 AJAX:

 $.ajax({
url: thisURL,
dataType: "json",
data: {cmd : 'getMessage', uurl: urlVar, t: Math.random()},
success: function(ret){
callback(ret)
}
});

最佳答案

IE 要求您使用 XDomainRequest 而不是 XHR 进行跨站点,您可以尝试类似...

if ($.browser.msie && window.XDomainRequest) {
// Use Microsoft XDR
var xdr = new XDomainRequest();
xdr.open("get", url);
xdr.onload = function() {
// XDomainRequest doesn't provide responseXml, so if you need it:
var dom = new ActiveXObject("Microsoft.XMLDOM");
dom.async = false;
dom.loadXML(xdr.responseText);
};
xdr.send();
} else {
// your ajax request here
$$.ajax({
url: thisURL,
dataType: "json",
data: {cmd : 'getMessage', uurl: urlVar, t: Math.random()},
success: function(ret){
callback(ret)
}
});

}

引用

http://forum.jquery.com/topic/cross-domain-ajax-and-ie

不确定它是否适合您的场景

xdr = new XDomainRequest(); 
xdr.onload=function()
{
alert(xdr.responseText);
}
xdr.open("GET", thisUrl); //thisURl ->your cross domain request URL
//pass your data here
xdr.send([data]);

您可以找到更多指导here

关于javascript - 拒绝访问 IE 上的 jQuery 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5087549/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com