IE FileReader打印出" \ n"

时间:2016-11-28 14:17:50

标签: javascript internet-explorer internet-explorer-11 microsoft-edge

我有一个XML文件,我需要读入一个字符串并将该字符串传递给DOMParser对象。所有这些在FF和Chrome中运行得很好,但IE通常会有复杂的东西。

以XML结构为例:

<person>
    <firstname>John</firstname>
    <lastname>Doe</lastname>
</person>

FireFox和Chrome给了我这个字符串:

"<person>
    <firstname>John</firstname>
    <lastname>Doe</lastname>
</person>"

和IE给了我这个字符串:

"<person>\n <firstname>John</firstname>\n <lastname>Doe</lastname>\n </person>"

如您所见,IE显式打印出\ n并在一行上打印所有内容。当我传递给DOMParser时会出现问题,因为它不知道如何处理\ n字符。

我使用FileReader()读取文件,使用DOMParser()解析FileReader生成的字符串。

我不确定如何解决这个问题,有什么帮助?

1 个答案:

答案 0 :(得分:0)

您的字符串本身仍然包含\n个字符,唯一的区别是IE显示原始字符,Chrome和Firefox将它们显示为换行符。

如果您在Chrome或Firefox中打开控制台并输入"a\nb",您将获得两行不同的输出。字符串的length仍为3个字符,但浏览器控制台会将换行符转换为新行。

如果这肯定是个问题,那么你总是可以在字符串上使用replace()来删除任何换行符:

"<person>\n ... \n </person>".replace(/\n/g, "")