2012-11-12 16 views
7

sto cercando tutto il giorno per avere questo lavoro e non posso ... ho provato: - versioni Flash (almeno 3 diversi) - Document.ExecCommand (" copia ") nello script di contenuto, ma anche nella pagina di sfondo Ho controllato numerose pagine su StackOverflow ... ogni soluzione disponibile.Copia nella clipboard in estensioni Chrome

Qualcuno ha un esempio funzionante?

EDIT:

manifest.json

{ 
    "name": "test", 
    "manifest_version": 2, 
    "version": "1.0", 
    "description": "test", 
    "content_scripts": [{ 
      "matches": ["https://somesite.com*"], 
      "js": ["jquery.js", "script.js"], 
      "run_at": "document_end", 
      "css": ["style.css"] 
    }], 
    "permissions": [ 
      "clipboardWrite", 
      "clipboardRead" 
    ] 
} 

script.js

$(document).ready(function() { 
    $('body').append('<textarea id="test"/>'); 
    var $test = $('#test'); 
    $test.text('some text which should appear in clipboard'); 
    $test.select(); 
    document.execCommand('copy'); 
    alert('copied!'); 
}); 

sopra non funziona. Viene visualizzato un avviso ...

EDIT2: Ho anche provato con le versioni flash, ma probabilmente non funziona perché quell'estensione è qualcosa che viene eseguito su localhost, penso.

risposta

7

La copia funziona in modo strano. Dovresti registrare un listener di eventi per la copia, quindi questo verrà chiamato quando esegui lo document.execCommand('copy').

Questo è un esempio di lavoro del gestore di eventi:

document.addEventListener('copy', function(e) { 
    var textToPutOnClipboard = "some text which should appear in clipboard"; 
    e.clipboardData.setData('text/plain', textToPutOnClipboard); 
    e.preventDefault(); 
}); 
3

Fai in modo di avere i permessi per la copia nel vostro manifest.json:

"permissions": [ 
    "clipboardWrite", // for copy and cut 
    "clipboardRead", // for paste 

], 

e quindi utilizzare document.execCommand('copy') una volta che qualcosa è stato selezionato

Maggiori informazioni here.

+0

anche thx per aiuto, vedi qualcosa di sbagliato nel mio codice (vedi domanda a cura)? – mrzepa

Problemi correlati