为什么将文本复制到剪贴板时不应用新行

Why new line is not applied when copying text to clipboard

我之前问过“”并得到了解决方案。

现在我正在尝试实现回退功能,因为大多数浏览器不支持 Web Share API 方法并提出了解决方案。

<script>
//<![CDATA[
var title = document.title;
var url = window.location.href;

document.querySelectorAll('.shareBtn').forEach(function (btn) {
    var text = btn.previousElementSibling.textContent + '\n';
    btn.addEventListener('click', function () {
        if (navigator.share) {
            navigator.share({
                title: title,
                text: text,
                url: url
            });
        }else{
                var shareText = document.createElement('input');
                document.body.appendChild(shareText)
                shareText.value = text+url;
                shareText.select();
                document.execCommand('copy',false);
                shareText.remove();
                alert(" Text Copied");
            }
    });
});
//]]>
</script>

In if part var text = btn.previousElementSibling.textContent + '\n' text 和 url 之间应用的行间隙但是当 else 部分执行时行间隙不应用。

您需要在 createElement()

中使用 textarea 元素而不是 input