除了IE以外的其他浏览器的XML解析器
问题描述:
如何在下面写一段代码,以便它可以在所有浏览器上使用。目前它只在IE中工作。除了IE以外的其他浏览器的XML解析器
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = false;
xmlDoc.loadXML(respText);
var element1 = xmlDoc.getElementsByTagName("element1");
var element2 = xmlDoc.getElementsByTagName("element2");
感谢任何关于解决此问题的指导?
感谢, JDP
答
,如果您的jQuery我首先只是通过正常的GET
请求,检索数据,然后使用jQuery.parseXML()
解析它。这将处理所有不同的跨平台问题,并为您提供一些优秀的工具来更轻松地处理xml结构。
当然还有其他图书馆也有类似的事情,但我不会建议你从头开始做这件事,因为我可以从经验告诉你很多浏览器差异(我的意思是,你可以只需使用XMLHttpRequest
和DOMParser
即可,您将获得相当的效果,但旧版浏览器实现之间存在一些令人沮丧的区别)。
而且还有一件事,永远不会禁用async
加载资源。为了防止用户通过冻结浏览器的风险,如果JS被构建,至少在加载外部资源时至少可以处理一些函数。
只要加载的URL是xml,同样的事情(非常多)可以作为responseXML从任何ajax请求中获得。 – dandavis