2012-11-03 40 views
0

工作,我已经写了下面的代码:复制和粘贴无法在移动Safari和CodeMirror

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。如何解决这个问题?

回答

2

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

有些人使用名为zClip/ZeroClipboard的Flash变通办法,它允许复制到剪贴板,但仅限于直接用户单击Flash对象。这显然不是移动探险的一种选择。

如果你只是试图在你的页面内移动数据,那么你不必使用系统剪贴板来做到这一点 - 你可以创建自己的数据保存区域(一个JavaScript变量),并把数据在那里复制并从那里检索粘贴。然后,使用常规的DOM函数(而不是复制/粘贴函数)从字段获取数据或将数据放入字段。

+0

但如何解决这个问题?如何粘贴到被聚焦的元素? – Dmitry

+0

@Altaveron - 我在回答中添加了一些想法。 – jfriend00

+1

谢谢。我认为Flash不适用于Mobile Safari ......我需要使用系统剪贴板。 – Dmitry