يضيف مكون السمة هذا حماية قابلة للتكوين للروابط الخارجية في المشاركات المنسقة. يطبق قواعد تستند إلى مستوى الثقة، وإعادة توجيه اختيارية لتسجيل الدخول والمعلومات، ومؤشرات مرئية للنطاقات الموثوقة، ونافذة منبثقة قابلة للتخصيص لتأكيد الخروج.
internal_domains:
type: list
default: ""
description: "Your forum and CDN domains (e.g., example.com|example-cdn.com). These will have NO icon and NO modal."
excluded_domains:
type: list
default: ""
description: "Trusted external domains (e.g., youtube.com|google.com). These will show a LOCK icon but skip the modal/shielding."
النطاقات الداخلية
تُعامل على أنها داخلية ← لا يوجد أيقونة ولا نافذة منبثقة
النطاقات المستبعدة (الموثوقة)
تعرض أيقونة قفل
تتخطى التحقق من مستوى الثقة والنافذة المنبثقة
جميع الروابط الخارجية الأخرى
تعرض أيقونة الرابط الخارجي
يتم حظرها و/أو تأكيدها اعتمادًا على مستوى الثقة
المؤشرات المرئية (SCSS)
تتم إضافة الأيقونات بالكامل عبر CSS:
الروابط الخارجية غير المعروفة ← أيقونة الرابط الخارجي
الروابط الخارجية الموثوقة ← أيقونة القفل (لون النجاح)
يحافظ هذا على بنية DOM نظيفة ويتجنب حقن الأيقونات المستند إلى JavaScript.
ولكن يمكن للزوار غير المسجلين الدخول فتح رابط خارجي مباشرة (يُسمح لهم بفتح الروابط). هل تم التخطيط لذلك ويتم عرض المعلومات/التحذير فقط لبعض مستويات الثقة؟
رائع يا دون، شكرًا لك على بناء هذه المكوّنات ومشاركتها!
أتساءل لماذا تُستخدم أيقونة القفل للروابط الخارجية الموثوقة؟ أعني، يمكن تفسيرها على أنها “مقفل” بينما هي في الواقع مسموح بها.
سأقوم بتجربة هذا المكوّن؛ يبدو أنه يغطي جميع حالات استخدامنا للروابط الخارجية. سأحاول أيضًا نقل الأيقونات إلى اليمين، لأنني أدرك أن هذا هو المعيار الشائع.
كما هو الحال دائمًا، أنا فقط أشارك أفكاري، ويسعدني إذا أمكن تحسين المكوّن (TC) بناءً عليها.
استبدال أيقونات mask-image من نوع SVG التي كانت تُدار يدوياً بعناصر <svg class="d-icon"> حقيقية يتم عرضها عبر iconHTML()، وتُدرج بجانب الروابط بواسطة secure-links.js
إضافة إعدادات:
exit_confirmation_continue_icon
external_link_icon,
trusted_link_icon,
external_link_icon_color,
trusted_link_icon_color,
link_icon_position (قبل/بعد)
إصلاح عطل كان يحدث عند تعطيل enable_anonymous_blocking: كان يتم قراءة currentUser.trust_level للمستخدمين المجهولين (null)، مما كان يتسبب في إطلاق استثناء وترك عنصر <a> الأصلي غير مُعالج/غير محمي بشكل صامت؛ الآن يحصل الزوار المجهولون على مسار مرور واضح التعريف (أيقونة + نافذة تأكيد اختيارية، دون تقييد حسب مستوى الثقة TL)
عند معاينة موضوع في نافذة معاينة الموضوع، فإن النقر على صورة لتكبيرها (فتح صندوق الضوء) يؤدي أيضًا إلى تفعيل نافذة “تأكيد الخروج” من مكوّن درع الروابط الخارجية — على الرغم من أن روابط هذه الصور ليست روابط خارجية. إنها صور مرفوعة محليًا وتُقدَّم من نطاقنا/شبكة توصيل المحتوى الخاصة بنا، وليست صورًا مرتبطة من الخارج أو من مصادر خارجية.
أتساءل عما إذا كان يمكن إضافة هذه الميزة الرائعة إلى الروابط الموجودة في الشريط الجانبي؟
لدينا عدة روابط خارجية هناك، وأعتقد أنه سيكون من الجيد تنسيقها أيضًا. ربما بدون نافذة منبثقة و/أو قيود، لأن الوضع المثالي هو تجنب أي احتكاك غير ضروري (فهي روابط موثّقة).
أنا فضولي بشأن هذه النقطة، لأنني لست متأكدًا من أنني أفهم حالة الاستخدام بالكامل بعد.
الآن، شريط الجانبي يسمح بالفعل بتعيين أيقونة لكل رابط، والروابط التي يضيفها المسؤول تكون مُتحقَّقًا منها مسبقًا. أقسام شريط الجانبي التي ينشئها المستخدمون تشبه ذلك في أن المستخدم يضيف صراحةً روابط يعرفها بالفعل ويثق بها.
لذلك، أستطيع بالتأكيد رؤية القيمة في تطبيق تنسيق الروابط الخارجية هناك، لكنني لست متأكدًا من القيمة الإضافية التي ستقدمها المكوّنات (المكوّنات البرمجية) ما دامت تدعم شريط الجانبي بالفعل الأيقونات، خاصةً وأنك ذكرت أنك لا تريد النافذة المنبثقة أو القيود.
هل هدفك الرئيسي هو ببساطة الإشارة بصريًا إلى أن رابطًا في شريط الجانبي يشير إلى موقع خارجي، باستخدام نفس التنسيق/الأيقونة التي يستخدمها المكوّن؟