Domanda

Sto cercando di scrivere uno script JavaScript da aggiungere a greasemonkey che aggiunge un pulsante dopo un elemento. L'onClick per questo pulsante dovrebbe copiare il testo dell'elemento parent sulla tastiera. Ho visto molti esempi che copiano negli appunti testo già selezionato come questo:

    <SCRIPT LANGUAGE="JavaScript">
    <!-- Begin
    function copyit(theField) {
    var selectedText = document.selection;
    if (selectedText.type == 'Text') {
    var newRange = selectedText.createRange();
    theField.focus();
    theField.value = newRange.text;
    } else {
    alert('Alert: Select The text in the textarea then click on this button');
    }
    }
    // End -->
    </script>
    <input onclick="copyit(this.form.text_select)" type="button" value="Click Here to Copy the Highlighted Text" name="copy_button">

Trovato qui .

Ho anche scoperto che puoi selezionare il testo negli elementi di input. Ho provato a combinare entrambe le tecniche, così come molte altre senza una soluzione praticabile. Non sono nemmeno sicuro del motivo per cui il codice sopra viene copiato negli appunti. Qualcuno ha una soluzione a questo?

È stato utile?

Soluzione

Se hai preso il tempo di leggere l'articolo completo, l'autore afferma che questo non funziona per Firefox ...
In realtà, penso che non funzioni nemmeno con IE, in quanto non fa nulla relativo agli appunti!

Esiste una tecnica che utilizza Flash, perché per impostazione predefinita Firefox inibisce l'accesso agli Appunti per motivi di sicurezza.
Altrimenti, il modo classico di fare la copia è:

var tc = textToCopy.replace(/\n\n/g, '\n');
if (window.clipboardData) // IE
{
  window.clipboardData.setData("Text", tc);
}
else
{
  unsafeWindow.netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
  const clipboardHelper = Components.classes
      ["@mozilla.org/widget/clipboardhelper;1"].
      getService(Components.interfaces.nsIClipboardHelper);
  clipboardHelper.copyString(tc);
}

dopo aver abilitato la copia (per un determinato sito).

Altri suggerimenti

Sei sicuro che il tuo esempio funzioni? Non nel mio browser. Dai un'occhiata alla seguente pagina: http://www.jeffothy.com/weblog/ clipboard-copy /

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top