2011-08-08 175 views
0

我正在爲我的系統構建自定義右鍵菜單,我需要知道如何使JavaScript函數能夠複製所選文本,基本上100%原來的右鍵菜單呢。使用JavaScript將選定文本複製並粘貼到剪貼板使用JavaScript

我知道Flash的變通方法。我想用JavaScript來做到這一點。

到目前爲止,我見過的每一個答案都只是一個半答案,因爲他們都沒有解釋如何爲選定的文本製作複製按鈕 - 他們所做的只是複製預定義的文本或來自文本框。

+1

這正是問題 - 沒有一個跨瀏覽器的方法來做到這一點。 – Purag

+0

你確定嗎? – Ricardo

+0

是的,但你可以使用小閃光燈部分來做到這一點..只是谷歌它(考試http://www.deluxeblogtips.com/2010/06/javascript-copy-to-clipboard.html).. – slobodan

回答

0

不知道這是否會工作,但谷歌搜索產生:

function getSel(){ 
    var w=window,d=document,gS='getSelection'; 
    return (''+(w[gS]?w[gS]():d[gS]?d[gS]):d.selection.createRange().text)).replace(/(^\s+|\s+$)/g,''); 
} 

http://snippets.dzone.com/posts/show/2914

0

一個可行的跨瀏覽器的方法(減去iOS版)是使用ExternalInterfacesetClipboard。 所以你會得到一個swf,flash文件,它只能監聽你從Javascript調用的設置clipBoard的函數。

1

現代日瀏覽器阻止訪問剪貼板。用戶必須具有正確的安全設置。

有閃光燈work-arounds,但它們不是最好的。

1

對於非IE瀏覽器,您最有可能必須使用Flash解決方案。然而,對於IE瀏覽器來說,這種方法是完美的:

function copyToClipboard(s) {   //only works in IE :(
    if (window.clipboardData && clipboardData.setData) { 
     clipboardData.setData('text', s); 
    } 
} 
+0

以及事情是 - 我需要它來複制他們選擇的文本,所以到目前爲止我得到的所有答案都只是一半的答案,因爲我需要我的用戶選擇他們想要複製的文本,而不是當前的腳本(複製我寫的文字)。無論如何,進入Goggle並找到完全一樣的東西,感謝您的答案;) – Ricardo

相關問題