cl_in = window.getSelection().toString();
alert(cl_out); //Multiline selections stored without \r or \n
输入:
“您好,
留言,
谢谢”
电流输出: “您好,留言,谢谢”。
我的要求是能够在屏幕上选择一些包含换行符的文本,并将数据与换行符信息一起存储以供解析。 我不需要维护格式或任何特定元素。只是纯文本选择和多行支持。
我不关心换行符是否需要替换为要存储在字符串中的不同字符。或者如果需要将字符串分解为数组。任何允许我维护换行数据的可能解决方案都可以。
getSelection().toString() 似乎没有保存任何 或者 信息。
编辑:如果相关的话,这是greasemonkey中的javascript。
谢谢你。
刚刚解决了这个问题,以防其他人仍然想知道:您需要使用
textarea
元素而不是 div 或 input 元素,以便在复制时保留换行符。
我也遇到了类似的问题,可以通过使用正则表达式用中断替换换行符来解决它。
.replace( /(\r\n|\r|\n)/g, '<br>' );
并在将内容插入 dom 时使用 innerHTML
而不是 innerText