XMLHttpRequest()vs ActiveXObject(“Microsoft.XMLHTTP”) - 有什么意义?

时间:2009-10-21 12:11:46

标签: internet-explorer xmlhttprequest

Microsoft最终在Internet Explorer 7中添加了原生XMLHttpRequest对象,但我发现可以在“Internet选项”对话框中禁用它。那么使用XMLHttpRequest()和ActiveXObject(“Microsoft.XMLHTTP”)有什么好处?

如果可以禁用它,那意味着我们必须永久保持浏览器兼容性检查,不是吗? XMLHttpRequest()初始化比ActiveXObject(“Microsoft.XMLHTTP”)更快还是什么?为什么Microsoft会添加它并使其成为可选项?

2 个答案:

答案 0 :(得分:5)

也可以禁用ActiveXObject。请注意,其他浏览器也可以禁用此设置和其他设置。这与浏览器兼容性无关,而与用户偏好有关。用户可以允许/禁止跨域请求,可以允许/禁止脚本,是否允许Flash等等。

当用户禁用了您需要的某些浏览器功能时,您将始终检查您的网页是否仍能顺利运行(或优雅地退回)。

好消息是:它默认启用,大多数用户都会启用它。

更新:默认情况下,document()不支持脚本和外部请求(即xsl:includeXmlHttpRequest使用XSLT或XML中的外部实体) - 检索到的对象,必须明确启用。这与非IE浏览器不同,后者允许来自XHR加载文档的外部请求(或者不存在,如Safari和Chrome中)。

答案 1 :(得分:2)

这是猜测,但我认为它们允许禁用它,原因与它们允许禁用JavaScript的原因相同。有些人认为风险(隐私,安全等等)超过了收益,因此希望它被禁用。