【问题标题】:How can I replace newline characters using javascript in IE8?如何在 IE8 中使用 javascript 替换换行符?
【发布时间】:2011-10-07 22:24:06
【问题描述】:

我在 Stackoverflow 上搜索了好几个小时,但没有人的解决方案适用于 Internet Explorer 8。

我收到了一个这样的纯文本文档:

This is a legal agreement ("Agreement") between you and ...
License
Subject to you continued and ongoing compliance with the terms and conditions set ...
Restrictions
Except as otherwise explicitly provided in this Agreement, ...
Ownership
Except for this license granted to you, as between you and ...
Disclaimer of Warranties
Use at your own risk. ...

而且我需要用双换行符 (<br/><br/>) 替换换行符(换行符、回车符,无论你想如何称呼它们),以使文本看起来更正常。

jQuery convert line breaks to br (nl2br equivalent) 的 nl2br 函数在大多数浏览器中都能正常工作。但是,我的一个客户使用的是 IE8。

继续尝试使用 IE8(或设置为 IE8 模式的现代 Internet Explorer)的 nl2br 功能;它不起作用。

有谁知道为什么它在 IE8 中不起作用?以及如何实现目标?

附:我在这里放了一些代码http://jsfiddle.net/L2Ufj/2/,奇怪的是它可以通过 jsfiddle 在 IE8 中运行,但是如果你将它复制到其他地方并真正运行它,它就无法在 IE8 中运行。

【问题讨论】:

  • "(...) 但是如果你将它复制到其他地方并真正运行它,它将无法在 IE8 中工作" --- jsFiddle 没有做任何魔法。确保您在 jsFiddle 中包含任何库。如果它仍然有效,那么无论您将代码复制到何处,您都做错了。无论如何,不​​要使用元素节点的innerHTML,而是尝试获取文本节点的nodeValue

标签: javascript jquery internet-explorer-8 newline line-breaks


【解决方案1】:

在 IE8 中解决此问题的一种方法是将换行符转换为 IE8 将在 呈现在页面上之前识别的“令牌”。然后一旦呈现,例如在成功处理程序中,您可以搜索该令牌并替换为 <br> 或任何您想要的:

例如

预渲染(我使用
作为我的令牌,但你可以使用任何东西)

textToEdit = textToEdit.replace(/\n/g, '<br>');

后渲染(搜索您的令牌并替换为 &lt;br&gt; 或任何您想要的)

renderedTextWrapper.innerHTML = renderedTextWrapper.innerHTML.replace(/&lt;br&gt;/g, '<br>');

【讨论】:

    【解决方案2】:

    当您检索元素的 innerHTML 时,IE 会在给您结果之前将 innerHTML 转换为“标准格式”(通过将多个空格合并为一个、删除换行符等...)。

    因此,您在使用 IE 获得的 innerHTML 中找不到任何换行符。真是个坏消息。

    我认为最可行和最简单的方法是将您的文本存储在&lt;textarea&gt; 标签中,而不是普通的&lt;div&gt;。当你得到它的值而不是innerHTML时,IE会留下&lt;textarea&gt;

    originalText=document.getElementById('EULA_content').value
    

    当然,当你得到 newText 时,你应该将它附加到另一个 div 元素中。

    【讨论】:

      猜你喜欢
      • 2012-04-08
      • 1970-01-01
      • 2011-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-29
      • 2010-09-09
      • 2010-10-11
      相关资源
      最近更新 更多