Javascript 复印及;粘贴不';不要在移动Safari和CodeMirror上工作
我编写了以下代码:Javascript 复印及;粘贴不';不要在移动Safari和CodeMirror上工作,javascript,clipboard,codemirror,Javascript,Clipboard,Codemirror,我编写了以下代码: function copy() { if(window.clipboardData) { window.clipboardData.clearData(); window.clipboardData.setData("Text", document.getElementById('txtacpy').value); } } function paste() { if(window.clipboardData) { document
function copy() {
if(window.clipboardData) {
window.clipboardData.clearData();
window.clipboardData.setData("Text", document.getElementById('txtacpy').value);
}
}
function paste() {
if(window.clipboardData) {
document.getElementById('txtapaste').value = window.clipboardData.getData("Text");
}
}
当CodeMirror编辑器处于焦点时,我调用:
paste();
但是什么也没发生!浏览器是移动Safari。如何解决此问题?由于安全问题,大多数浏览器不支持此功能,因为网页无法访问剪贴板。这不仅仅是移动狩猎。大多数浏览器(如Chrome或Firefox)都不支持它 有些人使用一种叫做Flash的变通方法,它允许复制到剪贴板,但只能通过用户直接点击Flash对象。这显然不是mobile safari的选项
如果您只是想在页面中移动数据,那么您不必使用系统剪贴板来完成这项工作——您可以为数据创建自己的保留区(一个javascript变量),并在复制时将数据放在那里,然后在粘贴时从那里检索数据。然后,使用普通DOM函数(不是复制/粘贴函数)从字段中获取数据或将数据放入字段。但如何解决此问题?如何粘贴到焦点元素?@Altaveron-我在答案中添加了一些想法。谢谢。我认为Flash不适用于移动Safari。。。我需要使用系统剪贴板。@Altaveron-我认为你不能在mobile Safari上使用javascript来完成这项工作。您可以将文本放入一个字段,预先选择它,并要求用户使用普通的最终用户约定将其复制到剪贴板。这就是当今web应用程序的生命。