这是一个非常特殊的问题。我使用德国网站gutefrage。本网站使用修改后的Quill作为编辑器。 Here您可以使用编辑器。如果按Enter键,则会启动一个新段落。如果按SHIFT + enter,则会触发换行符。但是,换行没有使用BR
- 元素实现,但它们使用名为gf-br
的自定义HTML元素。因此,人们不能只复制像诗一样的文本,因为每个换行符都会自动转换为段落。
这就是为什么,在我将文本插入编辑器之前,我决定编写一个“准备”文本的工具。该工具会将每br
转换为gf-br
。如果彼此之后有两个br
,则它们仅在一个br
中转换。这就是我所拥有的:
function modify() {
var text = document.getElementById('text').innerHTML;
text = text.split(/<br[\s]?[\/]?>[\s]?<br[\s]?[\/]?>/).join('[<[<break>]>]');
text = text.split(/<br[\s]?[\/]?>/).join('<gf-br></gf-br>');
text = text.split('[<[<break>]>]').join('<br />');
document.getElementById('text').innerHTML = text;
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
#btn {
width: 100%;
height: 10vh;
}
#text {
width: calc(100% - 10px);
height: calc(90vh - 10px);
border: 2px solid #000;
margin: 5px;
padding: 5px;
}
<button id="btn" onclick="modify();">Modify</button>
<div id="text" contenteditable></div>
一个人插入任何文字,例如G。 this,进入可疑的div
。现在,按下按钮并将结果复制到gutefrage编辑器中。它应该与以前完全一样。
这与Chrome完美配合。但是,Firefox会删除任何自定义HTML元素,如gf-br
。我试图在这个元素中插入任何内容,我也尝试在非contenteditable
元素中显示结果。它不起作用。
有没有机会在不使用用户脚本的情况下做任何事情?如果您有疑问或需要任何其他信息,请询问。