Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在JS中复制到剪贴板_Javascript_Copy_Clipboard - Fatal编程技术网

Javascript 在JS中复制到剪贴板

Javascript 在JS中复制到剪贴板,javascript,copy,clipboard,Javascript,Copy,Clipboard,我正在使用document.execCommand(“copy”)函数从JavaScript代码中复制一段文本。它适用于Firefox、Chrome和IE,但不适用于Safari。我已经做了很多研究来解决这个问题,但没有得到任何结果 我搜索了一些解决方案,找到了一个切实可行的解决方案: 基本上,示例可以是: var $input = $(' some input/textarea '); $input.val(result); if (navigator.userAgent.match(/ipa

我正在使用document.execCommand(“copy”)函数从JavaScript代码中复制一段文本。它适用于Firefox、Chrome和IE,但不适用于Safari。我已经做了很多研究来解决这个问题,但没有得到任何结果

我搜索了一些解决方案,找到了一个切实可行的解决方案:

基本上,示例可以是:

var $input = $(' some input/textarea ');
$input.val(result);
if (navigator.userAgent.match(/ipad|ipod|iphone/i)) {
  var el = $input.get(0);
  var editable = el.contentEditable;
  var readOnly = el.readOnly;
  el.contentEditable = true;
  el.readOnly = false;
  var range = document.createRange();
  range.selectNodeContents(el);
  var sel = window.getSelection();
  sel.removeAllRanges();
  sel.addRange(range);
  el.setSelectionRange(0, 999999);
  el.contentEditable = editable;
  el.readOnly = readOnly;
} else {
  $input.select();
}
document.execCommand('copy');
$input.blur();

是的,我知道safari不支持它。那么我如何在safari中执行“复制到剪贴板”功能呢?@Kritika很遗憾,您不能执行,因为不支持浏览器。唯一的其他方法是基于flash的,这也不会起作用,因为浏览器会阻止flash运行。而且对的支持也不好。有没有插件可以实现这一点?我尝试了上面提到的解决方案,但它在safari上不起作用。