0

我写了以下代码:

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();

但是什么也没有发生!浏览器是 Mobile Safari。如何解决问题?

4

1 回答 1

2

大多数浏览器不支持此功能,因为安全问题不允许网页访问您的剪贴板。这不仅是 Mobile Safari。大多数浏览器(如 Chrome 或 Firefox)都不支持它。

有些人使用称为zClip/ZeroClipboard的 Flash 解决方法,它允许复制到剪贴板,但只能从用户直接单击 Flash 对象。这显然不是移动 safari 中的一个选项。

如果您只是想在页面内移动数据,那么您不必使用系统剪贴板来执行此操作 - 您可以为数据创建自己的保存区域(javascript 变量)并将数据放在那里复制并在粘贴时从那里检索它。然后,您使用普通的 DOM 函数(不是复制/粘贴函数)从字段中获取数据或将数据放入字段中。

于 2012-11-03T17:27:17.867 回答