gpt4 book ai didi

internet-explorer - Internet Explorer 中的 DOM 级别 3 XPath

转载 作者:行者123 更新时间:2023-12-03 08:49:47 25 4
gpt4 key购买 nike

我刚刚在我的 Windows 7 上安装了 IE10,我注意到,即使我很高兴来自 AJAX 请求的 XML 现在是兼容的 DOM 文档,这是一个相当基本的功能,如 document.evaluate仍然不支持。

更糟糕的是,因为这些 XML 不是自定义的 Microsoft IXMLDocument对象,节点不支持 selectNodesselectSingleNode了。 最后,IE10 似乎不支持 DOM Level 3 XPath 或 MSXML Xpath。

认真的,微软?有什么我想念的吗?

当然,我可以使用 querySelectorquerySelectorAll ,但我不想失去相当多的向后兼容性。

否则 ,仍然可以使用此行请求 MSXML 文档

try {xhr.responseType = "msxml-document";} catch(e) {}

如前所述 here ,但我认为最后在 IE 中处理标准 DOM 文档也会很好。

那么,有没有办法在 IE10 中将 XPath 与标准 DOM 文档一起使用?

2013 年 7 月 26 日更新 IE11还不稳定,但还不支持 document.evaluate .如果它在稳定版本中不支持它,我怀疑它是否会支持它。不用说这是荒谬的。

我知道你可以使用 querySelector/ All在 DOM 节点中,但在 IE9 及更低版本不支持,仍然相当常用,而且 XPath 比选择器更强大。

幸运的是(如果你能这么说的话),你仍然可以设置 xhr.responseType = "msxml-document" .有那么一瞬间,我怕你再也做不到了……

2013 年 11 月 23 日更新 IE11 现在稳定了,可惜不支持 document.evaluate .随着重量级 XML 文档在 Web 应用程序中越来越少地使用 JSON 或其他轻量级符号格式,这已不再是一个问题,但仍然存在。

设置 responseType属性仍然提供遗留的 XML 文档,所以我猜什么都没有丢失。不过,我不知道这是否会适用于 IE12。

2015 年 8 月 15 日更新 现在听起来很荒谬,但 Edge 现在支持 document.evaluate .就在(几乎)一切都切换到 JSON 进行数据交换的时候。好吧,我想,迟到总比没有好。

最佳答案

是的,IE =/中仍然没有 XPath 支持。

对我来说,最可靠的使用方式document.evaluate可悲的是,在每个浏览器中,都是通过一个库。

它被称为 Wicked Good XPath这是最近由 Google 撰写的对旧产品 JavaScript-XPath 的重写图书馆。自发布以来,我一直在使用 Wicked Good XPath,并且对它非常满意(嗯,不如原生 XPath 支持多,但仍然如此)。

关于internet-explorer - Internet Explorer 中的 DOM 级别 3 XPath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13521554/

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