在移动设备上使用document.execCommand('copy')

8
有没有办法复制到移动设备的剪贴板上?我已经研究了好几天,但没有找到一个好的解决方案。Clipboard.js 在移动设备上似乎无法使用,会给出一个错误提示“不支持 :(”。
我目前正在使用以下函数:
function copytext(text) {
    var textField = document.createElement('textarea');
    textField.innerText = text;
    document.body.appendChild(textField);
    textField.select();
    document.execCommand('copy');
    textField.remove();
}

在我的桌面上,它在Chrome上的使用效果很好。但是在Chrome移动版上,没有任何内容被复制。

是否有解决方案?


1
使用的Chrome版本和移动设备是什么? 据说在移动Chrome 42+和移动Firefox 41+上都可以使用,前提是两者都是Android。 - Alexander O'Mara
奇怪。我使用的是最新版本。这里有一个带有复制链接按钮的实时页面:http://www.trailerpuppy.com/trailers/captain-america-civil-war-trailer-8c60bffa-6534-4496-bb89-e6ffc8684e2a - Jackson Cunningham
1
在我的设备上工作正常,使用的是Android上的Chrome 49.0.*。我猜你在使用iOS上的Chrome? - Alexander O'Mara
啊..是的,我想我的版本可能已经过时了。这是我iOS版本上最新的版本..但我需要更新iOS。感谢您的故障排除。 - Jackson Cunningham
Chrome for iOS基本上只是一种替代应用程序,使用与Safari内置的WebKit相同的渲染和JavaScript API。除非iOS Safari支持它,否则iOS Chrome和Firefox可能也不支持它。 - Alexander O'Mara
1个回答

4

根据MDN的说法,document.execCommand('copy')在以下移动浏览器中可用:

  • Chrome for Android 42+
  • Firefox Mobile (Gecko) 41+

请注意,这不包括iOS Chrome或Firefox,因为按照苹果的要求,两者都必须使用iOS提供的WebKit。在iOS Safari支持它之前,iOS Chrome和iOS Firefox可能无法使用。

更新:

iOS 10+上的Safari支持剪切和复制


谢谢提供链接,目前所有浏览器都可以使用复制功能了,你可以更新一下。 :) - orr burgel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接