javascript - 如何在 IE8 中使用 javascript 替换换行符?

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

我已经在 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 中解决这个问题的一种方法是将换行符转换为 IE8 将在它呈现在页面上之前识别的“标记”。然后一旦呈现,例如在成功处理程序中,您可以搜索该 token 并替换为 <br>或者任何你想要的:

例如

预渲染(我使用 < br > 作为我的标记,但你可以使用任何东西)

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

渲染后(搜索您的 token 并替换为 <br> 或您想要的任何内容)

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

关于javascript - 如何在 IE8 中使用 javascript 替换换行符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7693433/

相关文章:

java - Selenium "return"javascript 值不打印

javascript - 数据表未显示详细信息按钮

html - 我的导航在 Internet Explorer 上不起作用

ruby - 如何在纯 Ruby(无 Rails)中为 IE8 使用 Capybara?

javascript - PHP 和 Javascript toast

javascript - 使用 Apollo 和 GraphQL 的 React 表单不会触发 onSubmit

javascript - 完美流畅的循环缓和 css 动画

javascript - 从 img 标签获取背景图像 url 并使用该 url 创建新的 img 标签

jQuery:动态图像处理(等待加载)

css - IE 8 PNG正文背景问题