【发布时间】:2015-09-25 10:36:44
【问题描述】:
我正在为传单使用 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 Debugger 工具中抛出任何错误,这真的很奇怪。
在我看来,这两种情况都应该失败。 DOMParser 上的可信 MDN 文档没有提到将 URL 作为参数放入 parseFromString() 中。所以我的问题是为什么这在 Chrome 中工作,但在 IE 中抛出错误,然后我该怎么做才能修复它?
请注意,此问题与以下 url 不同,因为这不是一般错误 - 这是关于在 Chrome 中有效但在 IE 中失败的内容:Internet Explorer 11 (IE 11) Throws Syntax Error using parseFromString in DOMParser
【问题讨论】:
标签: javascript google-chrome internet-explorer domparser