使用阅读脚本时如何避免布局消失?

时间:2019-01-10 17:21:34

标签: copy-paste addeventlistener

我想在我的网站的复制文本中添加更多阅读的文本。因此,如果有人选择并复制文本并将其放置到剪贴板/其他来源,它将自动添加更多内容:来源的网址。

问题是我正在使用代码,但是当有人选择并复制文本时,文本的布局就会消失。例如,白线和段落消失,所有文本将在一起,而不会被白线或段落打扰。

我过去曾尝试过几种解决方案,但是大多数解决方案都像这段代码一样简单。

<script>
function addLink() {
 //Get the selected text and append the extra info
 var selection = window.getSelection(),
 pagelink = '<br /><br /> Lees meer op: ' + document.location.href + ' voor meer informatie', // Change this text
 copytext = selection + pagelink,
 newdiv = document.createElement('div');

 //hide the newly created container
 newdiv.style.position = 'absolute';
 newdiv.style.left = '-99999px';

 //insert the container, fill it with the extended text, and define the new selection
 document.body.appendChild(newdiv);
 newdiv.innerHTML = copytext;
 selection.selectAllChildren(newdiv);

 window.setTimeout(function () {
 document.body.removeChild(newdiv);
 }, 100);
 }

 document.addEventListener('copy', addLink);
</script>

我想避免所选文本和复制文本的布局不合理。我该如何解决?预先感谢。

1 个答案:

答案 0 :(得分:0)

奇怪的是,我终于在stackoverflow上找到了一个代码,该代码可用于我网站的phpbb部分,但不适用于我网站的WordPress部分。有谁知道我如何使此处How to automatically append text to text copied with JavaScript所述的代码适用于我的网站的WordPress部分?