文档.execCommand复制命令不工作或其他解决方案

document.execCommand copy command does not work or other solution?

本文关键字:其他 解决方案 工作 execCommand 复制 命令 文档      更新时间:2023-09-26

我正在做的是通过编程方式从网页中选择所有文本,然后复制它。select all适用于execCommand,但copy不适用。

下面是我的代码:
$.ajax({
    url: $('#url').val(),
    type: 'GET',
    success: function(res) {
        $('#result').html(res.responseText);
        $('#result').fadeIn('fast');

        $('#result').focus();
        $('#result').select();
        document.execCommand('selectall');
        // copy does not work ?
        document.execCommand('copy');
    }
});

JsBin示例

我也尝试使用flash解决方案,如ZeroClipboard,然而,似乎一个人必须按下他们的flash对象/按钮显式来复制文本,而我想做zeroclip.setText('whatever'); 没有用户按按钮。

谁能告诉如何以编程方式复制文本?

copy命令过去在除IE以外的所有浏览器中都是受保护的(在其他浏览器中不起作用)。请求用户使用Ctrl+C是一种常见的解决方法。

从Firefox 41(2015年9月)、Chrome 42(2015年4月)和Opera 29(2015年4月)开始,在大多数主流浏览器中,当某些受信任的(用户触发的)事件触发时,默认情况下,复制命令应该是可用的,例如点击按钮会触发什么。

来自MDN的兼容性表和W3C bug提供了进一步的信息。

相关文章: