2012-11-03 69 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