用换行符复制文本会在记事本中产生单行文本

时间:2018-07-17 11:09:14

标签: javascript windows copy newline carriage-return

我有一个基于React的应用程序,它使用剪贴板来复制文本。该文本可能包含换行符。当我稍后将此文本粘贴到此应用程序或Word中时,换行符在那里,但是当复制到记事本时,它会变成一行。

我用于复制的代码是

setText = function (text) {
    var node = document.createElement('span');
    node.style.position = 'absolute';
    node.style.left = '-10000px';
    text = escape(text).replace(/\r/g, '<br/>');
    node.innerHTML = text;
    document.body.appendChild(node);
    Clipboard._copyNode(node);
    document.body.removeChild(node);
}

我需要使用span来支持可访问性,以前我有textarea,但这不适用于可访问性。

我尝试了多个正则表达式,例如(/ \ r / g,'
\ n')或(/ \ n \ r | \ r \ n | \ n | \ r / g,'< br />”),但它们都不能与记事本一起使用。

为什么记事本与Word不同?它还可以在Visual Studio Code,Gmail,Sublime ...中使用。

感谢您的帮助。

0 个答案:

没有答案