微软最终在Internet Explorer 7中添加了本地XMLHttpRequest对象,但我发现它可以在Internet选项对话框中被禁用。那么使用XMLHttpRequest()与ActiveXObject("Microsoft.XMLHTTP")相比有什么好处呢?
如果它可以被禁用,这意味着我们必须永远保持浏览器兼容性检查,是吗?XMLHttpRequest()是否比ActiveXObject("Microsoft.XMLHTTP")初始化更快?为什么微软会添加它并使其成为可选项?
微软最终在Internet Explorer 7中添加了本地XMLHttpRequest对象,但我发现它可以在Internet选项对话框中被禁用。那么使用XMLHttpRequest()与ActiveXObject("Microsoft.XMLHTTP")相比有什么好处呢?
如果它可以被禁用,这意味着我们必须永远保持浏览器兼容性检查,是吗?XMLHttpRequest()是否比ActiveXObject("Microsoft.XMLHTTP")初始化更快?为什么微软会添加它并使其成为可选项?
XmlHttpRequest
检索的对象不支持脚本和外部请求(即使用XSLT的document()
、xsl:include
或XML中的外部实体),必须显式启用。这与非IE浏览器不同,在非IE浏览器中,XHR
加载的文档允许外部请求(或者像Safari和Chrome一样不存在)。
this
,并且可以通过prototype
或普通自定义属性进行扩展,而ActiveX则不可能。性能要好得多,其安全性与ActiveX分离。已更新属性以反映XHR标准(当然,IE总会有一些问题,但这是另一回事)。简而言之:它是DOM和JS的一致部分,而不是某个外部对象,请参见:http://msdn.microsoft.com/en-us/library/ms537505(VS.85).aspx#_id - Abel