IE8不允许javascript引用,但IE9允许?
我编写了一个小部件,其中包含来自一个站点和另一个站点的javascript。代码是:IE8不允许javascript引用,但IE9允许?,javascript,cross-browser,Javascript,Cross Browser,我编写了一个小部件,其中包含来自一个站点和另一个站点的javascript。代码是: <script type="text/javascript" src="http://www.easionline.com/min/?f=widget.js"></script> 有人知道为什么IE8会给我一条消息吗?如果您想查看实现小部件的站点,请访问 如果在不缩小的情况下执行: <script type="text/javascript" src="http://www.e
<script type="text/javascript" src="http://www.easionline.com/min/?f=widget.js"></script>
有人知道为什么IE8会给我一条消息吗?如果您想查看实现小部件的站点,请访问
如果在不缩小的情况下执行:
<script type="text/javascript" src="http://www.easionline.com/widget.js"></script>
与错误一致的行表示:
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中无效?这解决了我的问题:
基本上,IE要求您使用XDomainRequest而不是XHR。所以我替换了:
obj=pullAjax();
obj.onreadystatechange=function() {
if(obj.readyState==4) {
// etc
}
}
obj.open("GET",ajaxUrl,true);
obj.send(null);
与:
。。。但仅限于IE。我必须使用Javascript来检测它是否是IE,因为我不能在这个特定项目中使用jQuery。所以我用了这个:
var browserName=navigator.appName;
if (browserName=="Microsoft Internet Explorer") ...
src:这解决了我的问题:
基本上,IE要求您使用XDomainRequest而不是XHR。所以我替换了:
obj=pullAjax();
obj.onreadystatechange=function() {
if(obj.readyState==4) {
// etc
}
}
obj.open("GET",ajaxUrl,true);
obj.send(null);
与:
。。。但仅限于IE。我必须使用Javascript来检测它是否是IE,因为我不能在这个特定项目中使用jQuery。所以我用了这个:
var browserName=navigator.appName;
if (browserName=="Microsoft Internet Explorer") ...
src:您的JS中有一个错误,而不是它的加载方式。。。你应该取消缩小你的JS,然后再次尝试获取错误的正确行号。我用更多信息更新了它。看起来无法调用ajax函数。为什么会出现“拒绝访问”错误`你能告诉我obj变量是什么吗?请查看所有信息。但是要快速回答它==>obj=pullAjax();您的JS中可能存在重复错误,而不是加载方式错误。。。你应该取消缩小你的JS,然后再次尝试获取错误的正确行号。我用更多信息更新了它。看起来无法调用ajax函数。为什么会出现“拒绝访问”错误`你能告诉我obj变量是什么吗?请查看所有信息。但是要快速回答它==>obj=pullAjax();可能重复的
var browserName=navigator.appName;
if (browserName=="Microsoft Internet Explorer") ...