scripts script para monkey grease chrome javascript firefox greasemonkey

javascript - chrome - scripts para greasemonkey firefox



Botón Greasemonkey / JavaScript Copy to Clipboard (2)

¿Estás seguro de que tu ejemplo funciona? No está en mi navegador. Pero eche un vistazo a la siguiente página: http://www.jeffothy.com/weblog/clipboard-copy/

Estoy tratando de escribir un script de JavaScript para agregar a greasemonkey que agrega un botón después de un elemento. El onClick para este botón debe copiar el texto del elemento de los padres en el teclado. He visto muchos ejemplos que copian texto ya seleccionado en el portapapeles, como este:

<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">

Encontrado aquí .

También descubrí que puedes seleccionar texto en los elementos de entrada. Intenté combinar ambas técnicas, así como muchas otras sin una solución viable todavía. Ni siquiera estoy seguro de por qué el código anterior copia en el portapapeles. ¿Alguien tiene una solución para esto?


Si se tomó el tiempo de leer el artículo completo, el autor afirma que esto no funciona para Firefox ...
En realidad, creo que ni siquiera funciona para IE, ¡ya que no tiene nada que ver con el portapapeles!

Existe una técnica que usa Flash porque, de manera predeterminada, Firefox impide el acceso al portapapeles por razones de seguridad.
De lo contrario, la forma clásica de copiar es:

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); }

después de habilitar la copia (para un sitio dado).