لقد أصلحت خلاصة reddit بهذا البرنامج النصي الصغير

يمكن أن تضيف الإزعاج الصغير على مواقع الويب المفضلة لديك بمرور الوقت ويسبب إحباطًا كبيرًا. بالنسبة لي ، من المخالف أن “أفضل” يفعل ذلك. لحسن الحظ ، مع قدر صغير من القرار وتمديد قوي ، يمكنك إصلاح معظم هذه المشكلات.

ما هي المشكلة؟

صمدت لفترة طويلة وطويلة ، لكنني اتخذت مؤخرًا الانخفاض وانتقلت إلى رديت “جديد”. بشكل عام ، ليس الأمر سيئًا كما كنت أخشى ، وواجهة المستخدم جيدة جدًا بالنسبة للجزء الأكبر. لكن هناك قضية واحدة تزعجني إلى درجة كبيرة: ترتيب ما بعد الافتراضي.

الصفحة الرئيسية لـ Reddit تعرض المنشورات بترتيب

على الأعلاف المنزلية والأعلاف الفردية الفردية ، يتم عرض المنشورات بترتيب “أفضل”. هذا إعداد غير شفاف ، ويشبه إلى حد كبير خوارزمية “من أجلك” على علف المنزل من X أو YouTube ، فهو يعمل على الترويج للمحتوى أكثر من تقديم حاجة خاصة. لا يمكنني حساب عدد المرات التي انجذبت فيها إلى عنوان المنشور ، فقط لأتحول إلى إزعاج عندما أرى أنه عمره أسابيع أو أشهر.

حتى عندما أقوم باكتشاف ما هو الخطأ ، فإن الأمر يتطلب نقرتين للانتقال من “الأفضل” إلى “الجديد” ، ويعطل تدفقاتي. ولكن بفضل القليل من الجهد ، هذه مشكلة لا بعد الآن.

متعلق ب

5 أسباب يجب عليك تجاهل صفحة لك على جميع وسائل التواصل الاجتماعي

ما هو “بالنسبة لي” على أي حال؟

كيفية إصلاح الخلاصة

إذا كنت تعرف أي JavaScript ، فقد تفكر بالفعل في كيفية حل هذه المشكلة. باستخدام لغة البرمجة هذه ، يمكنك إضافة وظائف إلى موقع ويب ، أو تعديل ألوانه وخطوطه ، أو حتى إزالة المحتوى الذي لا تهتم به. لكي تكون هذه التغييرات مرئية للجميع ، ستحتاج إلى الوصول إلى الواجهة الخلفية لموقع الويب ، ولكن يمكنك استخدام متصفحك لإجراء هذه الأنواع من التغييرات الشخصية على أي موقع.

المفتاح هو امتداد متصفح يتيح لك تشغيل JavaScript الخاص بك على مواقع محددة. أنا أستخدم امتدادًا للكروم يسمى TarmperMonkey:

صفحة تمديد الكروم للعبثبرونكي.

تحتوي معظم المتصفحات على هذه الميزة إما مدمجة أو متاحة عبر امتداد. في الواقع ، يتوفر TarmperMonkey لجميع المتصفحات الرئيسية – Chrome و Edge و Safari و Firefox – لذا أوصي به كخيارك الأول.

ابدأ بتنزيل TarmperMonkey لمتصفحك ؛ أنا أستخدم نسخة الكروم.

متعلق ب

كيفية تثبيت وإدارة الامتدادات في الكروم

ليس من الصعب تثبيت وإدارة الامتدادات في Google Chrome ، ولكن هناك بعض الحيل التي تريد معرفتها.

بمجرد إضافة التمديد وتمكينه ، استخدم قائمته “إنشاء برنامج نصي جديد”. يجب أن ترى شيئًا يبدو مثل هذا:

مستخدمي جديد في TarmperMonkey ، مع رمز JavaScript Boilerplate.

هناك الكثير من الغلاية هنا ، ومعظمها تعليقات لن يكون لها تأثير مادي. ولكن يجب عليك التأكد من أن خط “match” يشبه ما يلي:

        

هذا يخبر TarmperMonkey لتشغيل البرنامج النصي فقط على موقع Reddit. تعني البطاقة البرية “*” أنها ستعمل على كل صفحة ، لكن البرنامج النصي سيأخذ ذلك في الاعتبار ويتأكد من أنه يؤثر فقط على الصفحة الرئيسية الرئيسية.

الآن للنص الفعلي ، والذي يجب أن يحل محل السطر الذي يقرأ “// الكود الخاص بك هنا …:”

        function checkURL() {
    if (window.location.pathname === "https://www.howtogeek.com/") {
        window.location.replace("//www.reddit.com/new");
    }
}

let currentUrl = location.href;
checkURL();

setInterval(() => {
    if (location.href !== currentUrl) {
        currentUrl = location.href;
        checkURL();
    }
}, 500);

لا تحتاج إلى فهم عميق لما يجري هنا ، لكنني سأشرح بعض الأجزاء الرئيسية.

وظيفة checkurl تقوم بالعمل الرئيسي. أولاً ، يتحقق ما إذا كان عنوان URL الخاص بالصفحة يحتوي على مقطع مائل واحد للأمام بعد اسم المجال. إذا كان الأمر كذلك ، فنحن على الصفحة الرئيسية. ثم يستدعي window.location.replace () ، ببساطة إضافة “جديد” إلى نهاية عنوان URL. هذا يرشد متصفحك لتحميل عنوان URL ، وهو الصفحة الرئيسية ، التي تم فرزها للتو بواسطة أحدث المنشورات بدلاً من الافتراضي.

يتأكد ما تبقى من البرنامج النصي على هذا الشيك بشكل منتظم: مرتين كل ثانية. من الناحية المثالية ، لن يكون هذا ضروريًا ؛ يجب أن يحدث الشيك فقط عندما يتغير عنوان URL ويتم تحميل الصفحة في البداية. ومع ذلك ، نظرًا للطريقة التي يتم بها تحميل Reddit صفحات ، يحتاج البرنامج النصي إلى التحقق بشكل منتظم بدلاً من ذلك. إنه نهج “القوة الغاشمة” ، لكن الكود لا يعمل سوى القليل من العمل بحيث يمكننا التخلص منه.

احفظ البرنامج النصي الخاص بك وأغلق علامة التبويب TarmperMonkey ، ثم قم بالتبديل إلى Reddit وحاول تحميل الصفحة الرئيسية. يجب أن ترى الآن أنه بدلاً من الخلاصة “الأفضل” الافتراضية ، فإنك تشاهد تجربة “جديدة” ، وهي تجربة متفوقة للغاية!

ماذا يمكنك إصلاح؟

لا تحتاج إلى تغيير الكود كثيرًا لاستيعاب الصفحات المنزلية الفرعية أيضًا. ما عليك سوى إضافة حالة أخرى إلى وظيفة checkurl () ، والتي تعامل عناوين URL SubredDit بطريقة مماثلة:

        function checkURL() {
    let match;

    if (window.location.pathname === "https://www.howtogeek.com/") {
        window.location.replace("//www.reddit.com/new");
    } else if (match = window.location.pathname.match("(/r/(^/)+)/$")) {
        window.location.replace("//www.reddit.com" + match(1) + "/new/");
    }
}

هذا الشيك أكثر تعقيدًا قليلاً لأنك تحتاج إلى اختبار نمط يمكن أن يتطابق مع العديد من عناوين URL المختلفة ، بدلاً من عنوان URL ثابت. يستخدم الدعوة إلى window.location.pathname.match () تعبيرًا منتظمًا. مرة أخرى ، التفاصيل ليست مهمة للغاية ؛ الشيء الرئيسي هو أن هذا الفحص يطابق عناوين URL التي تبدو مثل “/r/(subreddit)/” ويضيف “جديد/” إلى نهايتها.

متعلق ب

كيف يمكنك بالفعل استخدام Regex؟

غالبًا ما يتم استخدام Regex ، وهو قصير للتعبير المنتظم ، في لغات البرمجة لمطابقة الأنماط في السلاسل ، والعثور على النص والاستبدال ، والتحقق من الإدخال ، ونص إعادة إعادة الصياغة.

بمجرد إعداد هذا الامتداد ، يكون العالم هو المحار الخاص بك ، شريطة أن تتعلم القليل من JavaScript. مع TarmperMonkey ، أو امتداد مماثل ، وبعض التصميم ، يمكنك إصلاح جميع أنواع المشكلات في المواقع التي تستخدمها بانتظام. قم بإزالة العناصر غير المرغوب فيها ، وإعادة تنظيم التنقل ، ووضع Dark Force ، وإيقاف تشغيل مقاطع الفيديو ، وأكثر من ذلك.

تعتمد الحدود الحقيقية الوحيدة على مدى تنظيم كل موقع. على سبيل المثال ، يستخدم X (Twitter) نفس عنوان URL لكل من عرضه “من أجلك” و “متابعة” ، مما يعني أنه أكثر تعقيدًا للعمل معه. من ناحية أخرى ، يتم تصرف YouTube بشكل أفضل ، مع عناوين URL مميزة لصفحتها الرئيسية وتغذية الاشتراكات.

لذا فإن إصلاح المواقع يتضمن بعض التحقيقات وقليلًا من التجريب ، ولكن التحسينات التي يمكنك إضافتها تجعلها تستحق وقتك.

متعلق ب

6 قصاصات JavaScript لتلميع موقعك

انتصارات سريعة وسهلة لأي موقع تقوم ببناءه.

أضف تعليق