هل يعرف أحد كيف يمكنني إضافة رابط علامة يكون نسبيًا فعليًا للمسار الحالي؟ أود استخدام علامة حول وتقديمها كرابط علوي يوجه إلى موضوع حول نسبي للفئة التي يتواجد فيها المستخدم.
على سبيل المثال، يتواجد المستخدم في الفئة /c/feedback/7. سيؤدي اختيار حول إلى التوجيه إلى /tags/c/feedback/7/about.
أود استخدام المكون على مثيل ولكن السلوكيات المختلفة لا تعمل:
عند استخدام “إخفاء الروابط الافتراضية”، فإنه يخفي العنصرين الفرعيين الأولين (الأحدث والفئات). ولكن عندما يتنقل المرء إلى فئة، فإن رابط “الفئات” الافتراضي غير معروض بالفعل في القائمة. ثم يخفي هذا الإعداد عنصر تنقل إضافي، وهو العنصر الثالث في الصف.
أضفت عنصر قائمة لرابط فئة مباشر (/c/game-talk). عندما أتنقل إليه، لا يحصل على فئة نشطة ولا يتم تمييزه. بدلاً من ذلك، يتم تمييز رابط “الأحدث” ولديه فئة نشطة. هذا ليس رابط “الأحدث” الافتراضي، ولكنه رابط أضفته من خلال المكون (يربط فقط بـ /latest).
في الواقع، رابط “الأحدث” لا يحصل على فئة نشطة أيضًا عندما لا يسمى “الأحدث”. لذلك، يبدو أن الفئة النشطة على المسار الحالي لا تعمل على الإطلاق بسبب المكون. هذا هو العرض على /latest ولكن باسم مختلف لرابط الأحدث:
سؤال سريع-
أحاول إنشاء هذا وجعل عنوان URL ?order=created حتى يتمكن المستخدمون من تصفح المواضيع الحديثة.
يعمل هذا بشكل مثالي على سطح المكتب ولكنه يفشل على الهاتف المحمول - يتم إعادة تحميل شريط التنقل ولن تظهر القائمة المنسدلة.
أعتقد أنني أعرف سبب حدوث ذلك…
المكون يحتوي على السطر التالي:
if (window.location.pathname.match(sec2)) {
$(navHeader).html(filter + markd);
}
بسبب التعبير العادي… ؟ يُستخدم بحد ذاته كعلامة خاصة للتعبير العادي، وكان من المفترض مقارنة المعلمة بـ window.location.search.
لقد قمت بعمل نسخة من المكون، وغيرته إلى الكود التالي وهو يعمل.
هل يمكنني فعل ذلك؟ لطالما اعتقدت أن مستوى الكود الخاص بي ضعيف للغاية… وأشعر بالحرج قليلاً للقيام بذلك. شكراً على النصيحة!!! سأقوم بمراجعته وتقديم طلب سحب!
بالنسبة لي، هذا يتحقق مما إذا كان عنوان URL للصفحة هو نفس موقع عنوان URL لشريط التنقل، وإذا كان الأمر كذلك، فإنه يُرجع نتيجة contentFilterMode === filter، وكلا المتغيرين غير واضحين إلى حد ما بالنسبة لي. إذا فشل الشرط، يبدو أنه يقوم فقط بتشغيل المنطق العادي لما إذا كان يجب تمييز شيء ما على أنه نشط (وهذا هو سبب عمل روابطي غير المخصصة بشكل جيد). المشكلة هي أنه بينما يعمل هذا الرمز مرة واحدة لكل رابط تنقل، فإن متغير location يبدو دائماً أنه “categories” لذا فإن الشرط if خاطئ دائماً للروابط المخصصة. علاوة على ذلك، حتى لو قمت بإصلاح متغير “location” عن طريق استبداله بـ this.get("content").href، فإن قيمة الإرجاع خاطئة دائماً أيضاً لأن متغير filter يتم تعيينه دائماً إلى “categories”.
عادةً ما أقوم بإنشاء طلب سحب (PR) لإصلاح هذا، لكن المشكلة الجذرية الفعلية لا تزال تراوغني. لقد توصلت إلى حل بديل يعمل بالنسبة لي ولكنه يغير قليلاً الوظيفة الموثقة لهذا المكون لذلك أفضل عدم تقديمه كطلب سحب. أعتقد أنه ستكون هناك حالات حافة حيث لا يعمل أيضاً، مثل إذا تم تعيين صفحتك الرئيسية على /latest
قد يكون هذا مكونًا مفيدًا حقًا، ولكن يبدو أن هناك بعض الأخطاء الأساسية (ولكنها تتجاوز قدرتي على الإصلاح) تمنع استخدامه على نطاق أوسع. هل سيتم إصلاح أي منها؟