复制到剪贴板选项IE9,IE11和Safari

时间:2015-12-23 11:11:48

标签: javascript html internet-explorer safari cross-browser

我正在尝试在网页上实现“复制到剪贴板”按钮。以下是我写的代码

function copyToClipboard(element) {
   var $temp = $("<input>");
   $("body").append($temp);
   $temp.val($(element).text()).select();
   document.execCommand("copy");
   $temp.remove();
}
   <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">
   </script>

   <p id="p1">Text1</p>
   <p id="p2">Text2</p>
   <button onclick="copyToClipboard('#p1')">Copy Text1</button>
   <button onclick="copyToClipboard('#p2')">Copy Text2</button>
   <br/><br/>
   <input type="text" placeholder="Paste here for test" /> 

然而,这似乎不适用于 IE 9,11 Safari 。我可以使用任何更改/替代实现在我的网页上实现此功能。

2 个答案:

答案 0 :(得分:2)

您可以检查我使用它,您可以通过按下按钮复制文本并将其粘贴到任何测试位置..

$('#btnCopytext').click(function () {
                var element = document.getElementById('p1');
                if (document.body.createTextRange) { // ie
                    var range = document.body.createTextRange();
                    range.moveToElementText(element);
                    range.select();
                    document.execCommand("Copy");
                    setInterval(function () { selection.removeAllRanges(); }, 1000);
                   
                } else if (window.getSelection) { // moz, opera, webkit
                    var selection = window.getSelection();
                    var range = document.createRange();
                    range.selectNodeContents(element);
                    selection.removeAllRanges();
                    selection.addRange(range);
                    document.execCommand("Copy");
                    setInterval(function () { selection.removeAllRanges(); }, 1000);
                    

                }
            });
<html>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">
</script>
<p id="p1">Text1</p>

<button id='btnCopytext'>Copy Text1</button>



</html>

答案 1 :(得分:0)

不确定Safari,但在IE上你可以这样做:

window.clipboardData.setData('Text', 'text you want to copy goes here');

我希望它有所帮助。干杯