我正在使用一个适用于leaflet的KML插件,它在Google Chrome中运行良好。然而,在IE浏览器中,以下代码会抛出一个错误。
parser=new DOMParser();
console.log(url) // outputs: "path/to/kmlfile.kml" in Chrome debugger
url=parser.parseFromString(url,"text/xml"); //This line throws a parser error in IE 11, but is fine in Chrome
似乎在这段代码中有一个错误 - 作者应该传递实际的XML字符串,而不仅仅是XML文档的URL给parser.parseFromString()函数。这个解析器会出现错误是有道理的,因为文件路径不是有效的XML文件(注意:kml文件只是XML)。然而,在Chrome调试工具中不会抛出任何错误,这真的很奇怪。
我认为这两种情况都应该失败。可靠的MDN DOMParser文档中没有提到将URL作为parseFromString()参数的内容。所以我的问题是为什么在Chrome中可以工作,但在IE中会抛出错误,然后我该怎么做才能修复它?
请注意,这个问题与以下URL不同,因为这不是一个一般性的错误 - 这是关于在Chrome中正常工作但在IE中失败的问题:Internet Explorer 11 (IE 11) Throws Syntax Error using parseFromString in DOMParser。