Javascript xmlHttpRequest对象检测与try.catch
Javascript xmlHttpRequest object detection vs try..catch
在检查特定浏览器是否支持AJAX时,我通常会进行对象检测:
if (window.XMLHttpRequest)
{
xhr = new XMLHttpRequest();
}
else if (window.ActiveXObject)
{
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
然而,每当我看到资深开发人员编写的代码时,我更有可能看到一个try-catch块:
try {
xhr = new ActiveXObject("Microsoft.XMLHTTP"); //IE
}
catch(e) // if not IE
{
xhr = new XMLHttpRequest();
}
我知道有些人说试试。。捕获速度较慢,但如果这几乎只是一个偏好问题,是否有一种惯例/更"标准"的方法来做到这一点?很久以前,当我在innerHTML(非标准)和DOM(标准)之间做出决定时,我也处于同样的情况。谢谢你抽出时间。任何建议都将不胜感激。
怎么样xhr=new XMLHttpRequest()|| new ActiveXObject("Microsoft.XMLHTTP");
如果XMLHttpRequest失败,它将使用ActiveXObject("Microsoft.XMLHTTP")。更加优雅和干燥。
相关文章:
- errors with Javascript try catch
- JSON.parse,已经在try/catch块中,仍然抛出语法错误
- 在try-catch块内的HTML文件中导入JavaScript文件
- 有没有一种方法可以将try-catch添加到Javascript中的每个函数中
- Javascript Try Catch for DIV
- Safari 在尝试使用 Javascript try/catch 访问父窗口对象时未捕获异常
- 与在异步回调链中使用 try catch 块相比,返回异常有什么优势
- 在 Javascript 中,即使从未抛出异常,使用 try-catch 块是否昂贵
- JavaScript 中的 try-catch:如何获取原始错误的堆栈跟踪或行号
- 使用 try catch(e) 进行浏览器功能检测
- 了解 JavaScript 中的异常处理:当更改 try/catch 块的位置时,获得不同的输出
- 在 JavaScript 中用“try catch”包装每个方法的性能问题
- execScript try/catch in IE 8 中的怪异之处
- Javascript代码仅在FireFox中的try-catch块中失败
- 在 AJAX 响应中查找嵌套属性,这是 try/catch 的情况
- 使用 window.onerror 和 try-catch 块处理错误之间的差异
- 在声明变量时使用 try catch
- Array.map+try/catch传递了引用赋值延迟
- 在PHP中使用Try-catch结构
- 如何停止javascript中嵌套try/catch错误的传播