JavaScript zu einer Theme-Komponente hinzufügen

Gibt es eine gute Möglichkeit, JavaScript (eine Datei, minimiert) zu einer Theme-Komponente hinzuzufügen, damit es in common/header.html verwendet werden kann?

2 „Gefällt mir“

Hat funktioniert. Ich habe das JS (nicht minimiert) einfach in common/header.html eingefügt.

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

Es wäre gut, wenn jemand dieses Verhalten in den Leitfaden für die Entwicklung von Themes/Components dokumentieren könnte.

2 „Gefällt mir“

Wie hast du das JS in deiner Komponente verwendet? Ich verwende die Versatile Banner-Komponente und möchte einen Button hinzufügen, der meine benutzerdefinierte JS-Funktion aufruft. Ich habe es wie erwähnt im eingefügt, bekomme aber einen CSP-Fehler:

dev.londonbikers.com/:1 Die Ausführung des Inline-Ereignishandlers wurde abgelehnt, da sie gegen folgende Content-Security-Policy-Richtlinie verstößt: "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/". Um die Inline-Ausführung zu ermöglichen, ist entweder das Schlüsselwort 'unsafe-inline', ein Hash ('sha256-...') oder ein Nonce ('nonce-...') erforderlich.

Beim Aufruf meines Codes über onclick="NavigateToCustomLoginUrl('facebook')" auf einem Button.

Oh, ich denke, ich habe meine eigene Frage über Content security policy  |  Articles  |  web.dev beantwortet

2 „Gefällt mir“

Prüfen Sie loadScript im Codebase/meta für eine systematische Lösung, um dies zu erreichen.

2 „Gefällt mir“