如何从保留换行符的 window.prompt() 返回文本

How to return text from window.prompt() that retains line breaks?

本文关键字:prompt 返回 文本 window 保留 换行符      更新时间:2023-09-26

我正在我的论坛上创建一个选项,通过一个按钮包含外部文本,该按钮将包含格式化为文本区域的文本。我通过复制并粘贴到提示中来获取文本,但字符串作为一大堵文本墙返回,换行符消失了。是否有任何方法可以保存它们,或者这是文本实际复制的问题?

这是我到目前为止所拥有的:

function createExText(textbox) {
    var extext = window.prompt('Enter external text:','');
    var formattedextext = '[extext]'+ extext +'[/extext]';
    insertAtCaret(textbox, formattedextext);
}

我不知道任何允许多行内容的prompt浏览器实现。您可以创建一个包含文本区域的自定义模式实现来模拟它。

正如@RGraham评论的那样,如果您将外部文本粘贴到其中,某些浏览器(如Google Chrome)实际上会保留换行符,但是它仅显示在对话框内的一行中。我不会坚持使用这个解决方案,因为它不是用户友好的,而且似乎不能跨浏览器工作。