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应用程序的生命。