Clipboard.writeText()在Mozilla和IE上不起作用

时间:2018-09-05 05:03:25

标签: javascript google-chrome internet-explorer mozilla

我正在使用以下功能在剪贴板中放置一些文本:

navigator.clipboard.writeText('Text to be copied').then(function() {
            console.log('Template copied to clipboard')
          }, function() {
            console.log('Unable to write to clipboard. :-(');
          });

不幸的是,它不适用于Mozilla和IE。在Chrome上运行正常。 我已经尝试使用:

Document.execCommand('copy')

我在developers.google.com上找到了此tutorial,但该示例似乎在Chrome浏览器中正常运行,而在其他浏览器中却无法正常运行。我在这里做什么错了?

1 个答案:

答案 0 :(得分:0)

我不是UI Web开发方面的专家。 我遇到过类似的情况,因此我也尝试使用 Document.execCommand('copy')。这对我也不起作用。 因此,我使它既可以在IE也可以在Chrome上运行。我希望这段代码可以帮助您解决这个问题。

$scope.CopyToClipBoard = function (text) {        
    if (navigator.clipboard != undefined) {//Chrome
        navigator.clipboard.writeText(text).then(function () {
            console.log('Async: Copying to clipboard was successful!');
        }, function (err) {
            console.error('Async: Could not copy text: ', err);
        });
    }
    else if(window.clipboardData) { // Internet Explorer
        window.clipboardData.setData("Text", text);
    }
};

我从这里获取IE解决方案: How do I copy to the clipboard in JavaScript?