9

Ho trovato this question ma cercando di utilizzare il codice dato c'è:Come copiare i dati negli Appunti con Greasemonkey?

unsafeWindow.netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); 
const clipboardHelper = Components.classes["@mozilla.org/widget/clipboardhelper;1"] 
    .getService(Components.interfaces.nsIClipboardHelper) 
; 
clipboardHelper.copyString('test'); 


dà il messaggio di errore:

Uno script da «http://example.com» è stato negato UniversalXPConnect privilegi.



Ho anche provato ad utilizzare (from Mozilla site):

const gClipboardHelper = Components.classes["@mozilla.org/widget/clipboardhelper;1"] 
    .getService(Components.interfaces.nsIClipboardHelper) 
; 
gClipboardHelper.copyString("test2"); 

che dà il messaggio di errore: Components.classes is undefined.

In entrambi i casi non funziona con l'ultimo Firefox su Windows 7.
Che altro dovrei provare?

risposta

19

Aggiornamento:

A partire dalla versione 1.10 (20 giugno 2013), ora supporta Greasemonkey the GM_setClipboard() function.
Usa in questo modo:

// ==UserScript== 
// @name  _YOUR_SCRIPT_NAME 
// @include http://YOUR_SERVER.COM/YOUR_PATH/* 
// @grant GM_setClipboard 
// ==/UserScript== 

GM_setClipboard ("The clipboard now contains this sentence."); 
versioni

più vecchio GM:

Questo è molto difficile da fare con Greasemonkey dal sviluppatori GM rifiutano di sostenerlo e le impostazioni di sicurezza FF e Flash devono essere superare.
È possibile farlo se la copia verrà avviata da un manuale. In tal caso, utilizzare una delle tecniche da this question.

Se si desidera avere una sorta di operazione di clipboard completamente automatica, sarà necessario sviluppare il proprio componente aggiuntivo o plug-in per il proprio script GM da utilizzare.


Scriptish ha sostenuto per anni:

Se si sono aperti per il passaggio di scripting add-on, si noti che Scriptish fornisce GM_setClipboard() to set the clipboard. (Ma nessuna funzione per leggerlo ?!)

Scriptish non è perfetto, ma è migliore di Greasemonkey in alcuni modi. (Nota: non sono affiliato né con l'add-on, né sono completamente soddisfatto.)

La maggior parte degli script GM verrà eseguita in Scriptish senza problemi.


Per quanto riguarda i frammenti di codice, dalla domanda; sono essenzialmente la stessa cosa (il primo rappresenta solo la sandbox GM). Questo approccio è stato obsoleto per molte versioni di Firefox e il codice di sostituzione è scarsamente documentato.
Dovrai utilizzare tecniche che richiedono l'interazione dell'utente, o dovrai scrivere un componente aggiuntivo di helper personalizzato.

+0

+1 per Scriptish. Ha reso la mia giornata. – Kris

+0

[Greasemonkey supporta infine GM_setClipboard!] (Http://scriptish.org/news/2013/07/15/greasemonkey-finally-supports-clipboard.html) –