2012-04-03 123 views
4

我想通過單擊ContextMenu將選擇複製到clipboasd作爲擴展名。 在Chrome中,很多人都使用Flash解析。但是如何在ContextMenus中使用Flash,這似乎是不可能的。誰能告訴我一個錯覺?如何製作擴展名將選擇複製到剪貼板

我做什麼

var a = chrome.contextMenus.create({"title":copy,"context":["selection"],"onclick":copy}); 
function copy(info,tab){ 
document.execCommand('selectAll'); //just for example 
document.execCommand('copy'); 
} 

我有加clipboardWrite在未經許可到manifest.json.But似乎不起作用。 「權限」:[「contextMenus」,「clipboardWrite」]

+1

[這] [1]應該有所幫助。 [1]:http://stackoverflow.com/questions/3436102/copy-to-clipboard-in-chrome-extension – chrisjr 2012-04-03 03:09:52

+0

實驗剪貼板API已被刪除,鉻不支持document.execCommand (「複製」)以及如何在ContextMenus中使用閃光燈。 – user1309417 2012-04-03 03:45:55

+0

可能是實驗API不再是實驗嗎? http://code.google.com/chrome/extensions/manifest.html#permissions – 2012-04-03 03:47:42

回答

0

可能會有所幫助。 清單的權限最近增加了clipboardReadclipboardWrite。 例如,Theese讓您的擴展使用方法document.execCommand('copy')

http://code.google.com/chrome/extensions/manifest.html#permissions

+0

這是什麼意思「託管應用程序需要此權限」? – user1309417 2012-04-03 04:27:11

+0

在谷歌瀏覽器擴展API文檔中,我明白這意味着,如果您編碼的是託管APP,並且需要訪問剪貼板,則需要此權限。否則,它不會被需要,我不知道在哪些情況下。託管應用程序是一個常規網頁,具有「可安裝」清單,允許額外的權限,如擴展名,爲網頁帶來擴展的力量。 – 2012-04-03 10:40:02

5

添加此權限到您的manifest.json:

"permissions": [ "clipboardWrite" ] 

並複製到剪貼板:

document.execCommand('copy', false, null); 
+0

我已經完成了這項工作,但它無法工作,看來「document.execCommand('copy')」也是正確的。 – user1309417 2012-04-03 05:51:25

+0

然後,我會建議看一下Google Url Shortner Chrome擴展的代碼。 – codef0rmer 2012-04-03 06:12:38

+0

我在哪裏可以找到它? – user1309417 2012-04-03 06:18:14