javascript - IE FileReader打印出 "\n"

标签 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 生成的字符串。

我不知道如何解决这个问题,有什么帮助吗?

最佳答案

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

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

如果这确实是一个问题,那么您始终可以在字符串上使用 replace() 来去除任何换行符:

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

关于javascript - IE FileReader打印出 "\n",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40846465/

相关文章:

javascript - html5 音乐游戏/应用程序的 javascript 计时

asp.net - 我可以使用 IIS 在文件夹中放置 + 号吗?

javascript - 错误: Automation server can't create object

html - innerHTML 在 IE11 和 IE8 中不起作用

javascript - 当设备音频正在播放时,视频不会播放,反之亦然

javascript - JavaScript 上的导入/导出命令出现问题

internet-explorer - CSS3 Internet Explorer 缩放背景过滤器 :

javascript - IE11 - 从第 2 页开始的表格单元格边框问题

javascript - 在 IE 11 中,javascript 输入事件不会被触发

javascript - 函数不返回结果