زر الرجوع يختفي عند التمرير لأسفل (يرجى مشاهدة الفيديو المرفق)… هل من الممكن تثبيت زر الرجوع/جعله عائماً في أعلى الشاشة بحيث يظل مرئياً حتى عند التمرير؟
إنها تضيع قليلاً عندما تكون بالأسفل.
هل هناك فرصة لتغيير هذا؟
شكراً
لقد لاحظت للتو شيئًا يمكن إصلاحه (أو على الأقل وجود خيار لتمكين/تعطيل ذلك). لا أعتقد أن الشرطة المائلة الأخيرة (/) ضرورية.
لذلك سيكون فقط “الصفحة الرئيسية / مناقشة عامة” بدلاً من “الصفحة الرئيسية / مناقشة عامة /”
تعديل:
لقد استخدمت CSS للقيام بذلك، لكنني أعتقد أنه يمكن أن يكون هو الافتراضي. في حال أراد شخص ما ذلك:
/* إزالة الفاصل (محتوى ::after) من آخر عنصر في مسارات التنقل */
.breadcrumbs li:last-child::after {
content: none;
}
هذا تعديل بسيط، لكنه يبدو أفضل بالنسبة لي. قم بزيادة الهامش السفلي إلى 1rem لإعطائه مساحة أكبر “للتنفس”، ولكنه يجعله يتمركز أيضًا عندما تكون هناك لافتة (إذا كان علينا الالتزام بهذا الموضع على الصفحة). انظر إلى صورتي السابقة (الافتراضي 0.5rem) مقابل استخدام 1rem:
النتيجة النهائية بعد كل تعديلات CSS التي أجريتها:
CSS:
/* مسارات التنقل - إزالة الخلفية وزيادة الهامش السفلي */
.breadcrumbs {
background-color: transparent !important;
margin-bottom: 1rem;
}
/* مسارات التنقل - إخفاء السهم الخلفي من رابط الصفحة الرئيسية */
.breadcrumbs__title .d-icon {
display: none;
}
/* مسارات التنقل - إزالة الفاصل (محتوى ::after) من آخر عنصر في مسارات التنقل */
.breadcrumbs li:last-child::after {
content: none;
}
مرحبًا، لدي تحذير في منتديي بسبب التغييرات القادمة في نواة Discourse:
[إشعار المسؤول] يحتاج أحد السمات أو الإضافات الخاصة بك إلى تحديث لدعم التغييرات القادمة في نواة Discourse. (المعرف: discourse.script-tag-discourse-plugin) المشكلة المحددة: “روابط مسار التنقل”.
أنا أستخدم Discourse cloud، هل يمكنني حل هذه المشكلة أم يجب علي انتظار تحديث الإضافة؟
بخصوص هذه المشكلة، سألت ChatGPT وقال (بما أنني لست مطورًا):
إظهار رسالة ChatGPT
من المحتمل أن تنبع المشكلة من كيفية استخراج topicId من عنوان URL:
const topicId = url.split('/')[2];
إذا كان عنوان URL الخاص بك يحتوي على أنماط أكثر تعقيدًا (مثل العناوين التي تحتوي على مسافات أو أحرف خاصة أو شرائح غير قياسية)، فإن هذا التقسيم البسيط لن يحصل بشكل موثوق على معرف الموضوع الصحيح.
لماذا يسبب هذا مشاكل:
عناوين URL مثل /t/3ple-2015-2019-title/12345 تحتوي على معرف الموضوع الرقمي في النهاية، ولكن الكود الخاص بك يفترض أن معرف الموضوع هو دائمًا الجزء الثالث.
إذا كان هيكل عنوان URL الخاص بك يختلف، فأنت أحيانًا تلتقط شريحة أو جزءًا من العنوان بدلاً من المعرف.
هذا يعطل طلب AJAX الخاص بك (/t/${topicId}.json) لأنك قد ترسل معرف موضوع غير صالح أو شريحة، مما يؤدي إلى إرجاع معلومات فئة غير صحيحة أو افتراضية (مثل “عام”).
كيفية الإصلاح:
استخدم طريقة أكثر موثوقية لاستخراج معرف الموضوع من عنوان URL:
استخراج معرف الموضوع من آخر جزء رقمي في عنوان URL.
غالبًا ما تبدو عناوين URL لموضوعات Discourse مثل /t/{slug}/{id}، على سبيل المثال:
/t/3ple-2015-2019-title/12345
هنا، 12345 هو معرف الموضوع.
استبدل هذا:
const topicId = url.split('/')[2];
بهذا:
const segments = url.split('/').filter(Boolean);
const topicId = segments[segments.length - 1]; // آخر جزء، من المتوقع أن يكون معرفًا رقميًا
لزيادة الأمان، تحقق من أن topicId هو رقم:
if (!/^\\d+$/.test(topicId)) {
console.error("معرف موضوع غير صالح تم استخراجه من عنوان URL:", topicId);
return; // إيقاف التنفيذ
}
ملخص: قم بتحديث مقتطف الكود الخاص بك في updateBreadcrumbs كما يلي:
if (url.includes('/t/')) {
const segments = url.split('/').filter(Boolean);
const topicId = segments[segments.length - 1];
if (!/^\\d+$/.test(topicId)) {
console.error("معرف موضوع غير صالح تم استخراجه من عنوان URL:", topicId);
return;
}
// ثم استمر في استدعاءات AJAX الخاصة بك باستخدام topicId
}
بهذه الطريقة تحصل دائمًا على معرف الموضوع الرقمي بغض النظر عن العناوين المعقدة أو التي تحتوي على مسافات في عنوان URL، مما يصلح البحث عن فئة ومسار شريط التنقل.