Mi objetivo es crear una extensión para mí (y, con suerte, para otros) que agregue una combinación de teclas de dirección de enlace de copia más fácil de usar para zurdos (Y o A) para Microsoft Edge. Pero como se indicó, navigator.clipboard.writeText() falla sin ningún indicador significativo del problema y no se copia nada en el portapapeles del sistema.
Ambiente:
El código JS:
const CONTEXT_MENU_ID = "MY_COPY_LINK"; async function copyLink(info, tab) { if (info.menuItemId !== CONTEXT_MENU_ID) { return; } var urlToCopy = info.linkUrl; console.log(urlToCopy + " was copied."); if(navigator.clipboard) { navigator.clipboard.writeText(urlToCopy).then(function() { /* clipboard successfully set */ console.log("success"); }, function() { /* clipboard write failed */ console.log("failed"); }); } else { console.log("clipboard undefined"); } } chrome.contextMenus.create({ title: "Cop&y Link Address", contexts:["link"], id: CONTEXT_MENU_ID }); chrome.contextMenus.onClicked.addListener(copyLink)Archivo de manifiesto:
{ "manifest_version": 2, "name": "copylinkaddress", "version": "1", "permissions": ["contextMenus","clipboardWrite"], "background": { "scripts": ["background.js"], "persistent": true } } Intenté usar write() solo con un ClipboardItem de text/plain pero con el mismo resultado, simplemente falla.