هل توجد طريقة جيدة لإضافة JavaScript (ملف واحد مصغر) إلى مكون السمة بحيث يمكن استخدامه في common/header.html؟
نجح الأمر. تمت إضافة ملف JS (غير مصغر) إلى common/header.html.
انظر discourse-highlight-text/common/header.html at master · sbernhard/discourse-highlight-text · GitHub
سيكون من الجيد لو قام شخص ما بتوثيق هذا السلوك في دليل مطوري السمات/المكونات.
كيف استخدمت JavaScript في المكون الخاص بك؟ أنا أستخدم مكون Versatile Banner وأريد إضافة زر يستدعي دالة JavaScript مخصصة لدي. لقد قمت بإضافتها في الرأس كما ذكرت، لكنني أحصل على خطأ CSP:
dev.londonbikers.com/:1 تم رفض تنفيذ معالج الحدث المضمن لأنه ينتهك توجيه سياسة أمان المحتوى التالي: "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/". إما أن تكون الكلمة المفتاحية 'unsafe-inline'، أو تجزئة ('sha256-...')، أو رقم تعريف ('nonce-...') مطلوبة لتمكين التنفيذ المضمن.
عند استدعاء الكود الخاص بي عبر onclick="NavigateToCustomLoginUrl('facebook')" على زر.
أوه، أظن أنني أجبت على سؤالي بنفسي عبر Content security policy | Articles | web.dev
تحقق من loadScript في قاعدة الكود/البيانات الوصفية لإيجاد طريقة منهجية لتحقيق ذلك.