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

StackOverflow https://stackoverflow.com/questions/1600419

  •  05-07-2019
  •  | 
  •  

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

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

有帮助吗?

解决方案

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

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

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

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

其他提示

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top