我正在爲我的系統構建自定義右鍵菜單,我需要知道如何使JavaScript函數能夠複製所選文本,基本上100%原來的右鍵菜單呢。使用JavaScript將選定文本複製並粘貼到剪貼板使用JavaScript
我知道Flash的變通方法。我想用JavaScript來做到這一點。
到目前爲止,我見過的每一個答案都只是一個半答案,因爲他們都沒有解釋如何爲選定的文本製作複製按鈕 - 他們所做的只是複製預定義的文本或來自文本框。
我正在爲我的系統構建自定義右鍵菜單,我需要知道如何使JavaScript函數能夠複製所選文本,基本上100%原來的右鍵菜單呢。使用JavaScript將選定文本複製並粘貼到剪貼板使用JavaScript
我知道Flash的變通方法。我想用JavaScript來做到這一點。
到目前爲止,我見過的每一個答案都只是一個半答案,因爲他們都沒有解釋如何爲選定的文本製作複製按鈕 - 他們所做的只是複製預定義的文本或來自文本框。
不知道這是否會工作,但谷歌搜索產生:
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,'');
}
一個可行的跨瀏覽器的方法(減去iOS版)是使用ExternalInterface和setClipboard。 所以你會得到一個swf,flash文件,它只能監聽你從Javascript調用的設置clipBoard的函數。
現代日瀏覽器阻止訪問剪貼板。用戶必須具有正確的安全設置。
有閃光燈work-arounds,但它們不是最好的。
對於非IE瀏覽器,您最有可能必須使用Flash解決方案。然而,對於IE瀏覽器來說,這種方法是完美的:
function copyToClipboard(s) { //only works in IE :(
if (window.clipboardData && clipboardData.setData) {
clipboardData.setData('text', s);
}
}
以及事情是 - 我需要它來複制他們選擇的文本,所以到目前爲止我得到的所有答案都只是一半的答案,因爲我需要我的用戶選擇他們想要複製的文本,而不是當前的腳本(複製我寫的文字)。無論如何,進入Goggle並找到完全一樣的東西,感謝您的答案;) – Ricardo
這正是問題 - 沒有一個跨瀏覽器的方法來做到這一點。 – Purag
你確定嗎? – Ricardo
是的,但你可以使用小閃光燈部分來做到這一點..只是谷歌它(考試http://www.deluxeblogtips.com/2010/06/javascript-copy-to-clipboard.html).. – slobodan