Problemas al agregar componente CSS/JS: Robusteciendo enlaces para preservar la funcionalidad de los enlaces

Resumen TL;DR:

  • Problemas para incorporar enlaces de JavaScript y CSS que permitan las ventanas emergentes de Tooltip de Robustify en los hipervínculos de nuestro Discourse.
  • Algunas similitudes con este caso anterior, aunque nos estamos deteniendo antes de consultar la API de Robustify; tal vez sea sensato seguir esta ruta eventualmente, pero teníamos la intención de empezar simplemente habilitando las ventanas emergentes para hipervínculos correctamente envueltos.

Detalles:

Escribo con una pregunta que espero sea sencilla sobre la implementación de una pequeña aplicación CSS/JS en nuestro foro de Discourse: estamos intentando usar una pequeña y elegante aplicación creada por Mementoweb que adjunta un cuadro emergente a cualquier hipervínculo en una página, permitiéndote elegir entre acceder al sitio o ver una versión anterior en caché del sitio si el enlace ya no es funcional. ¡Es una característica realmente genial! y esperamos que pueda resolver algunos de los problemas inevitables de volver a un sitio web un par de años después y encontrar enlaces rotos a páginas no mantenidas. Inicialmente, esperaba simplemente intentar asegurarme de que funcionara cuando uno de nosotros generara manualmente un código en el sitio de Robustify (ejemplo).

La aplicación se ejecuta con un par de líneas de código: los enlaces se envuelven con una etiqueta a href más larga, y hay enlaces a una hoja de estilo CSS y algo de código Javascript en las etiquetas head. No estaba seguro de si Discourse permitiría la personalización de Javascript, pero me sentí muy animado al leer la Guía para principiantes y ver cuánto margen había para modificaciones. Estamos utilizando un tema remoto (Sam’s Simple Theme) y he intentado agregar nuestro código al encabezado del sitio como un nuevo componente:


Aún no he podido ponerlo en marcha, pero ayer pensé que lo había resuelto, investigando sobre plugins y cambiando nuestro tipo de valor JS a “text/discourse-plugin” version=“0.8.13”; también he intentado resolver las ligeras variables de reubicación del CSS (enlazando la hoja directamente en lugar de como DOI; copiando las etiquetas directamente en el espacio CSS; incluyéndolo como CSS Embebido, etc.) sin éxito: las publicaciones con enlaces envueltos todavía aparecen sin ventana emergente:


Agradecería cualquier orientación aquí, y actualizaré esta publicación si encuentro una solución mientras tanto.

¿Puedes compartir una captura de pantalla de la consola de JavaScript de tu navegador y de la pestaña Network? Podría ser un problema de Política de Seguridad de Contenido (CSP) que está impidiendo que el código js se cargue en la página.

2 Me gusta

Gracias Faizaan :slight_smile: Incluyo una captura de pantalla a continuación, no veo inmediatamente un problema de CSP pero estoy dispuesto a probar en otra máquina si eso ayuda:

He echado un vistazo al código y parece que hay algún tipo de sobrescritura que impide que se incorporen las etiquetas de Javascript que se ven en la captura de pantalla de la publicación anterior:

image

No estoy 100% seguro de si esto es el resultado de cambiar el valor del tipo de script de text/javascript a text/discourse-plugin; tengo la sensación de que no funcionaba con el valor original, y ya no hay un puntero al DOI de JS indicado en el código del Componente.

Gracias por el apoyo con esto. Me pregunto si al final será más fácil intentar configurar la API completa si hay más problemas para que los enlaces individuales funcionen.