首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IE8不允许javascript引用,而IE9允许?

IE8不允许javascript引用,而IE9允许?
EN

Stack Overflow用户
提问于 2012-07-13 15:25:07
回答 1查看 600关注 0票数 2

我写了一个小部件,其中包括来自一个站点的javascript,在另一个站点上。代码是:

代码语言:javascript
复制
<script type="text/javascript" src="http://www.easionline.com/min/?f=widget.js"></script> 

在IE9中,一切都显示得很好,但在IE8中,我得到了这个错误:

代码语言:javascript
复制
Webpage error details
User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2;
.NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0;
InfoPath.2)

Timestamp: Fri, 13 Jul 2012 07:20:30 UTC

Message: Access is denied.

Line: 7
Char: 73
Code: 0
URI: http://www.easionline.com/min/?f=widget.js

有人知道为什么IE8会给我一个消息被拒绝的问题吗?如果要查看实现微件的站点,请访问http://www.ham.co.za

如果您在不执行缩减的情况下执行它:

代码语言:javascript
复制
<script type="text/javascript" src="http://www.easionline.com/widget.js"></script> 

我得到了这个错误:

代码语言:javascript
复制
Webpage error details

User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2;
.NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0;
InfoPath.2)

Timestamp: Fri, 13 Jul 2012 07:49:41 UTC
Message: Access is denied.

Line: 98
Char: 3
Code: 0
URI: http://www.easionline.com/widget.js

带有错误的行是这样的:

代码语言:javascript
复制
96: var ajaxUrl = site_root+"ajax/widget/"+affid+"/"+category+"/"+numproducts;
97: 
98: obj.open("GET",ajaxUrl,true);
99: obj.send(null);

请注意,出于各种原因,我在这项任务中避免使用Jquery。因此,问题实际上可以归结为:为什么这个ajax调用可以在IE9中工作,而不能在IE8中工作?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-13 20:40:26

这解决了我的问题:Access denied to jQuery script on IE

基本上,IE要求您使用XDomainRequest而不是XHR。所以我换了:

代码语言:javascript
复制
obj=pullAjax();
  obj.onreadystatechange=function() {
    if(obj.readyState==4) {
        // etc
    }
}
obj.open("GET",ajaxUrl,true);
obj.send(null);

通过以下方式:

代码语言:javascript
复制
xdr = new XDomainRequest(); 
xdr.onload=function()
{
    // etc
}
xdr.open("GET", thisUrl); 
xdr.send([data]); 

..。但仅适用于IE。我不得不使用Javascript来检测它是否是IE,因为我不能在这个特定的项目中使用jQuery。所以我用了这个:

代码语言:javascript
复制
var browserName=navigator.appName; 
if (browserName=="Microsoft Internet Explorer") ...

源:http://www.pageresource.com/jscript/jbrowse.htm

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11465941

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档