复制到剪贴板中JS
问题描述:
我正在使用document.execCommand(“复制”)函数从JavaScript代码复制一段文本。它适用于Firefox,Chrome和IE。但它不适用于Safari。我已经研究了很多,以解决这个问题,但没有得到任何东西。复制到剪贴板中JS
答
我搜索了一些解决方案,我发现一个实际工作: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();
+0
我试过上述的解决方案,它不适用于safari。 – Kritika
+0
看看这个链接,如果它可以帮助你https://clipboardjs.com/ –
是的,我知道这是不是在Safari支持。那么我如何在safari中执行复制到剪贴板功能呢? – Kritika
@Kritika不幸的是,你不能,没有浏览器的支持。唯一的另一种方式是基于闪存,这也不会因为浏览器阻止闪存运行而起作用。支持[剪贴板API](http://caniuse.com/#search=clipboard)也不好。 – abhishekkannojia
有没有什么插件可以实现这个? – Kritika