cjk77
(Chris Klugewicz)
25 أبريل 2020، 11:48م
1
أحاول استخدام خط خاص في أحد مكونات السمة الخاصة بي. لقد اتبعت التعليمات في هذا المنشور:
تسمح السمات ومكونات السمات بمعالجة الأصول التي تم تحميلها مثل الصور والخطوط. يمكنك التحكم في الأصول التي تقبلها السمة الخاص بك باستخدام إعداد الموقع: theme authorized extensions
تضمين الأصول في السمات والمكونات
للسمات البعيدة
تتضمن السمات البعيدة ما يلي:
السمات والمكونات المثبتة من قائمة السمات Popular
السمات والمكونات المثبتة باستخدام طريقة From a git repository
لتحميل الأصول إلى سمة بعيدة أو مكون سمة، راجع Create and share a font theme component للحصول على مثال مفصل.
تحميل الأصول إلى السم…
إليك كود CSS الخاص بالمكون الخاص بي:
@font-face {
font-family: 'northwood';
font-style: regular;
src: url($northwoodhigh) format('woff2');
}
.category-list tbody .category h3 a[href] {
color: #ccc;
font-family: 'northwood', cursive;
font-size: 135%;
word-spacing: 3px;
}
لقد أضفت عنوان URL الخاص بـ Cloudfront إلى إعدادات CORS على النحو التالي:
لكن الأمر لا يعمل — للأسف، أحصل على خطأ “Cross-origin request blocked” في وحدة التحكم عند تحميل صفحة تحتوي على هذا CSS:
(آسف على حجم الصورة الصغير جدًا). هل لدى أحدكم أي نصيحة؟ لقد علقت.
هل قمت بإضافة DISCOURSE_ENABLE_CORS في ملف app.yml كما هو مقترح في الوصف؟
cjk77
(Chris Klugewicz)
26 أبريل 2020، 11:30ص
4
غير متأكد — هل توجد طريقة للتحقق؟ (أنا أستخدم نسخة مستضافة من Discourse، لذا لا يمكنني فحص ملفات الإعدادات مباشرةً.)
تعديل: أرسلت بريدًا إلكترونيًا إلى مزود الاستضافة لدينا لمعرفة ما إذا كانت هذه هي المشكلة.
cjk77
(Chris Klugewicz)
26 أبريل 2020، 3:33م
5
تحديث: يؤكد موفر الاستضافة الخاص بي أن DISCOURSE_ENABLE_CORS مضبوط على TRUE.
لذلك، لا يزال الأمر محيرًا لي.
Johani
(Joe)
28 أبريل 2020، 1:51ص
7
لقد جربت ذلك للتو، تمامًا كما وصفت، على موقع مهيأ مع شبكة توصيل محتوى (CDN) وقد نجح الأمر. لذا، أعتقد أن المشكلة قد تكون محددة بموقعك أنت.
أظن أن الإعداد DISCOURSE_ENABLE_CORS هو عكس ما تريده. فإضافة نطاقات إلى هذا الإعداد سيمنح النطاقات المضافة حق الوصول إلى نطاق Discourse الخاص بك، وليس العكس.
ما تريده هو السماح لطلبات النطاق الخاص بـ Discourse بالحصول على الوصول إلى الملف الموجود على شبكة توصيل المحتوى (CDN). وأظن أن شبكة توصيل المحتوى (CDN) تمنع هذه الطلبات. يمكنك التأكد من ذلك بتشغيل أمر مشابه لهذا في نافذة طرفية، بعد تغيير القيم بالطبع.
curl -H "origin: YOUR_SITE_URL" -v "PATH_TO_THE_FONT_ON_YOUR_CDN"
إذا تم إعداد كل شيء بشكل صحيح، فستظهر لك في رؤوس الاستجابة (response headers) شيء مشابه لهذا:
Access-Control-Allow-Origin: *