在 JS 中复制到剪贴板
2017-08-24
535
我正在使用 document.execCommand("copy") 函数从 JavaScript 代码中复制一段文本。它在 Firefox、Chrome 和 IE 上工作正常。但它在 Safari 上不起作用。我做了很多研究来解决这个问题,但没有得到任何结果。
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();
Mohhamad Hasham
2017-08-24