首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >if语句中的Return语句

if语句中的Return语句
EN

Stack Overflow用户
提问于 2015-06-25 01:26:50
回答 1查看 73关注 0票数 2

我在IE10中遇到了一些奇怪的行为。我需要使用ActiveXObject在本地获取一些文件(通过file://协议)。

为什么这在IE10中有效:

代码语言:javascript
复制
function createXhr() {
  return new window.ActiveXObject( "Microsoft.XMLHTTP" );
}

但不是这样的:

代码语言:javascript
复制
function createXhr() {
  inMpage = true;

 if (inMpage == false) {
   var a = new window.XMLHttpRequest();
 } else {
   var a = new window.ActiveXObject( "Microsoft.XMLHTTP" );
 }

 return a;
}
EN

回答 1

Stack Overflow用户

发布于 2015-07-16 21:33:13

因为所有现代浏览器(IE7+、火狐、Chrome、Safari和Opera)都有一个内置的XMLHttpRequest对象。

代码语言:javascript
复制
var a = new window.XMLHttpRequest(); // use this for IE10

并且您的代码正在执行else case,它与旧版本的Internet Explorer (IE5和IE6)兼容,而不是与IE10兼容。

代码语言:javascript
复制
var a = new window.ActiveXObject( "Microsoft.XMLHTTP" );

要处理所有现代浏览器,包括IE5和IE6,请检查浏览器是否支持XMLHttpRequest对象。如果有,则创建一个XMLHttpRequest对象;如果没有,则创建一个ActiveXObject

代码语言:javascript
复制
var xmlhttp;
if (window.XMLHttpRequest) {
    // code for IE7+, Firefox, Chrome, Opera, Safari
    xmlhttp=new XMLHttpRequest();
} else {
    // code for IE6, IE5
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31033150

复制
相关文章

相似问题

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