2013-10-02 161 views
2

我正在使用此功能將剪貼板中的文本粘貼到多個文本字段中。將文本從剪貼板粘貼到Firefox和Chrome

function pasteFromClipboard(className) { 
     var data = window.clipboardData.getData('Text'); 
     if (data != null) { 
      var cells = data.split('\n'); 
      var columns = $$('.'+className); 

      for (i = 0; i < cells.length; i++) { 
       if (columns[i] != undefined){ 
        columns[i].value = cells[i]; 
       } 
      } 
     } 
    } 

這東西,是通過「點擊」連接到按鈕,在IE瀏覽器的工作原理,但不是在FF或Chrome。 現在我知道FF限制了對剪輯的訪問,但是我已經在首選項中操縱了這些值,但沒有成功。

任何人都可以幫助我這個功能,所以它可以在Chrome中工作嗎? 有沒有一個window.clipboardData.getData('Text');類似的選項,使其在FF和Chrome的工作?

+1

您可以在粘貼時獲取CB的價值,在FF + Chrome中https://developer.mozilla.org/en-US/docs/Web/API/ClipboardEvent – dandavis

+0

因此解決方案將是另一個文本字段用戶粘貼並按鈕然後讀取該字段並複製需要的文本? – no9

+0

不,您綁定可以粘貼到處理程序的所有輸入,然後通過事件參數中的e.getData(「text/plain」)方法獲取源,然後將每個綁定輸入的值設置爲源在一個循環中。 – dandavis

回答

0

好的。所以我在前一段時間放棄了這一點。 我剛剛創建了一個額外的textarea控件,我在那裏粘貼我的東西。

頁面上的操作然後讀取此控件並完成工作 - 然後刪除此控件中的內容。

有人會說它笨拙的解決方案,但我更喜歡「舊時尚」和安全。

此致敬禮,no9。

+1

似乎是正確的。如果你看看網絡上的典型工作剪切/粘貼解決方案,他們通常使用https://github.com/zeroclipboard/zeroclipboard或類似的內幕使用閃光 - 它解決了瀏覽器之間的差異。當然,它需要閃光,這是它自己的問題。 –

+0

感謝您的想法!問候! – no9