gpt4 book ai didi

javascript - 如何判断是使用XMLHttpRequest还是XDomainRequest?

转载 作者:搜寻专家 更新时间:2023-11-01 04:09:58 26 4
gpt4 key购买 nike

取决于浏览器,我想确定应该使用哪个对象。对于 IE < 10,它应该是 XDomainRequest,对于其余的 XMLHttpRequest

if(window.XDomainRequest) //basically 'if IE'
//XDomainRequest
else
//XMLHttpRequest

由于 IE10 支持跨源资源共享,因此最好使用 XMLHttpRequest 对象。这段代码不会再正常工作了(我想IE10仍然支持XDomainRequest,如果我弄错了请纠正我,我无法测试它)。直接检查浏览器并不是确定事物的最安全方法。所以我的问题是,确定应该使用哪个对象的最佳方法是什么?我正在寻找纯 JS(非 jQuery)解决方案。

最佳答案

我就是这样做的,但这并不好。

var useXDR = window.XDomainRequest && (window.XMLHttpRequest && new XMLHttpRequest().responseType === undefined);

之所以有效,是因为 IE10 对于新创建的 XHR 有一个空字符串的 responseType,但在不支持 XHR2 的 IE 版本中,它是未定义的。

如果您确实走这条路,请记住 XDR 比 XHR 更难调试 - 当出现问题时它给您提供的信息较少,并且即使在旧的 XmlHttpRequest 实现上也能正常工作的一些功能在全部在 XDR 上。

即使您的浏览器不支持 XHR2 而支持 XDR,当您从与您的页面加载相同的主机/端口请求 url 时,您仍然希望使用 XHR。

关于javascript - 如何判断是使用XMLHttpRequest还是XDomainRequest?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15460152/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com