在JS中复制到剪贴板

时间:2017-08-24 07:25:43

标签: javascript copy clipboard

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

1 个答案:

答案 0 :(得分:1)

我搜索了一些解决方案,并且找到了一个实际可行的解决方案:http://www.seabreezecomputers.com/tips/copy2clipboard.htm

基本上,例子可能是:

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();