En mi complemento para Google Docs (escrito en Google Apps Script), quiero agregar enlaces personalizados a ciertas partes del texto en el documento (lo cual es fácil de hacer), y me gustaría que estos tengan un " burbuja de enlace" (la pequeña ventana emergente temporal similar a la información sobre herramientas) cuando el cursor se coloca en dicho texto. Es decir: la versión de burbuja de enlace predeterminada muestra el enlace y las opciones para modificar/eliminar el enlace. Quiero tener solo un nombre personalizado y ninguna opción para modificar/eliminar el enlace.
No creo que esto sea posible a través de opciones documentadas, y hasta ahora solo puedo pensar en dos soluciones. La primera es usar la notación de marcador para el enlace, de modo que pueda darle realmente cualquier texto personalizado (como " # My own link bubble text "). Sin embargo, esto todavía permite la modificación/eliminación del enlace.
La otra opción es manipular el HTML DOM, por lo tanto, una solución mucho más genérica (pero que también resolvería mi problema). Esto se ha preguntado aquí , y hasta ahora la respuesta es que no es posible. Sin embargo, debe ser posible porque al menos Zotero lo ha implementado. Acceden y modifican con éxito varios elementos HTML del editor de Documentos de Google, incluida la burbuja de enlace . Sin embargo, no entiendo cómo pueden hacer esto. Puedo modificar fácilmente el DOM de la barra lateral de mi complemento, pero no el del editor.
Por ejemplo, en el siguiente código, si lo uso en mi secuencia de comandos adicional (código del lado del cliente), body { background:red; } hace que el cuerpo de mi barra lateral sea rojo, pero .kix-appview-editor { background:green !important; } no hace ninguna diferencia. Sin embargo, esto no es un error en el código, porque si ingreso las mismas líneas en la consola con el editor de Google Docs abierto, el fondo del editor cambia a verde. (También probé varias otras manipulaciones, pero todas tuvieron el mismo resultado). Entonces, parece que Google de alguna manera evita que este tipo de solución pirata funcione desde Google Apps Script, pero, de nuevo, ¿cómo Zotero se salió con la suya? ?
const addCSS = css => document.head.appendChild(document.createElement("style")).innerHTML = css; addCSS( ` body { background:red; } .kix-appview-editor { background:green !important; } ` );En cualquier caso, agradecería cualquier idea para resolver la pregunta de modificación de la burbuja de enlace (con o sin manipulación DOM).
No puede modificar el DOM del editor de Documentos desde Apps Script.
Puede hacerlo creando una extensión de navegador . Eso es lo que es el conector de Zotero. Una extensión del navegador tiene acceso a todo el DOM en la página, no solo al DOM de la barra lateral como lo hace desde Apps Script.
Sin embargo, como se indica en los comentarios del código de Zotero, debe tener en cuenta que si Google cambia el DOM del editor, la extensión de su navegador puede fallar.