Añadir JavaScript a un componente de tema

¿Hay una buena manera de agregar JavaScript (un archivo, minimizado) a un componente de tema para que pueda usarse en common/header.html?

2 Me gusta

Lo logré funcionar. Solo agregué el JS (no minimizado) a common/header.html.

Ver discourse-highlight-text/common/header.html at master · sbernhard/discourse-highlight-text · GitHub

Sería bueno que alguien documentara este comportamiento en la guía de desarrollo de temas/componentes.

2 Me gusta

¿Cómo utilizaste el JS en tu componente? Estoy usando el componente Versatile Banner y quiero agregar un botón que llame a mi función JS personalizada. Lo he incluido en el head como mencionas, pero obtengo un error de CSP:

dev.londonbikers.com/:1 Se rechazó la ejecución del controlador de eventos en línea porque viola la siguiente directiva de Política de Seguridad de Contenido: "script-src https://dev.londonbikers.com/logs/ https://dev.londonbikers.com/sidekiq/ https://dev.londonbikers.com/mini-profiler-resources/ https://dev.londonbikers.com/assets/ https://dev.londonbikers.com/brotli_asset/ https://dev.londonbikers.com/extra-locales/ https://dev.londonbikers.com/highlight-js/ https://dev.londonbikers.com/javascripts/ https://dev.londonbikers.com/plugins/ https://dev.londonbikers.com/theme-javascripts/ https://dev.londonbikers.com/svg-sprite/". Se requiere la palabra clave 'unsafe-inline', un hash ('sha256-...') o un nonce ('nonce-...') para habilitar la ejecución en línea.

Al llamar a mi código mediante onclick="NavigateToCustomLoginUrl('facebook')" en un botón.

Oh, creo que respondí mi propia pregunta en Content security policy  |  Articles  |  web.dev

2 Me gusta

Busca loadScript en la base de código/meta para encontrar una forma sistemática de lograr esto.

2 Me gusta