【问题标题】:IE 9 inserts line break as \r\n but IE 11 inserts line break as \nIE 9 插入换行符为 \r\n 但 IE 11 插入换行符为 \n
【发布时间】:2015-08-31 12:43:24
【问题描述】:

我的 Web 应用程序中有一个文本区域,我在其中编写带有新行的文本

例如

abc
abc

当我使用 java 将其保存到 SQL Server IE9 浏览器中时,文本区域中的文本读取为 abc\r\nabc,但是当我使用 IE11 保存时,它读取文本区域为 abc\nabc

为什么会这样?这些浏览器的换行渲染有区别吗?

【问题讨论】:

  • 它是 IE,你甚至不应该感到惊讶。
  • LOL :) 是的,没错 :)

标签: javascript internet-explorer newline


【解决方案1】:

IE9 使用 Windows 换行符(“\r\n”),而 IE11 使用 POSIX 换行符(“\n”)。
无论如何,您都需要对它们进行规范化,因为 Linux/Unix 系统总是使用 \n。

通常,您可以假设 \r 不会干扰,因此您可以标准化为 \r\n,在所有浏览器中,一行都应显示在新行上。

作为旁注,如果您要保存 Linux shell 脚本,那么这很重要,因为它会解释 \r as part of the shell interpreter's name

【讨论】:

  • 谢谢!很多!这回答了我的问题。
猜你喜欢
  • 2023-03-26
  • 2023-02-06
  • 2018-04-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多