我正在做的是以编程方式从网页中选择所有文本,然后复制它。选择所有适用于execCommand
但复制则不然。
这是我的代码:
$.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 上的示例 http://jsbin.com/welcome/72426
我还尝试使用闪存解决方案,例如零剪贴板 https://github.com/jonrohan/ZeroClipboard,但是似乎必须按下闪光灯对象/按钮明确地复制我想做的文本zeroclip.setText('whatever');
无需用户按下按钮。
谁能告诉我如何以编程方式复制文本?
复制命令过去在除 IE 之外的所有浏览器中都受到保护(它在其他浏览器中不起作用)。请求用户使用 Ctrl+C 是一种常见的解决方法。
从 Firefox 41(2015 年 9 月)、Chrome 42(2015 年 4 月)和 Opera 29(2015 年 4 月)开始,这种情况不再是这样,当从某些可信(用户触发)触发时,复制命令在大多数主要浏览器中默认可用。事件,例如响应按钮单击而触发的事件。
The 兼容性表 https://developer.mozilla.org/en-US/docs/Web/API/Document/execCommand#Browser_Compatibility来自MDN,
和万维网联盟bug https://www.w3.org/Bugs/Public/show_bug.cgi?id=23235提供更多信息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)