كيفية إجراء إعادة توجيه في JavaScript: من المبتدئ إلى المحترف في عام 2025
\n\nهل سبق لك أن دخلت إلى موقع ويب، وبعد ثانية واحدة "نقلك" تلقائياً إلى صفحة أخرى؟ أو ربما ضغطت على زر ووجدت نفسك في قسم جديد تماماً دون إعادة تحميل الصفحة؟ كل هذا هو سحر إعادة التوجيه في JavaScript. سؤال "How do I redirect to another webpage?" ظل لسنوات عديدة من أكثر الأسئلة شيوعاً على Stack Overflow، وهذا ليس من قبيل الصدفة: إعادة التوجيه هي عملية أساسية ولكنها مهمة للغاية في تطوير الويب.
\n\nفي هذه المقالة، لن نعرض فقط كيفية كتابة window.location.href = '...'. بل سنشرح أي طريقة تختار في عام 2025، لماذا بعض الطرق أفضل من غيرها، وكيف تتجنب الأخطاء التي قد تفسد تجربة المستخدم أو تحسين محركات البحث (SEO) لموقعك. استعدوا، سيكون الأمر ممتعاً!
لماذا إعادة التوجيه ليست مجرد "انتقال عبر رابط"؟
\n\nللوهلة الأولى، تبدو المهمة بسيطة: "الانتقال إلى URL آخر". ولكن الشيطان، كما هو الحال دائماً، يكمن في التفاصيل. يمكن أن تكون إعادة التوجيه:
\n\n- \n
- فورية — المستخدم لم يلاحظها حتى. \n
- بتأخير — لعرض رسالة مثل "سيتم إعادة توجيهك خلال 5 ثوانٍ". \n
- سلسة — ضمن تطبيق الصفحة الواحدة (SPA)، حيث لا يتم إعادة تحميل الصفحة. \n
- مشروطة — فقط للمستخدمين المسجلين أو من أجهزة معينة. \n
ولكل سيناريو، هناك الأداة الصحيحة المناسبة. استخدام window.location.href لجميع الحالات يشبه استخدام مجهر لدق المسامير. قد ينجح، ولكن لماذا؟
أفضل 5 طرق لإعادة التوجيه في JavaScript في عام 2025
\n\nدعنا نستعرض كل طريقة مع أمثلة وشروحات حول متى يجب استخدامها.
\n\n1. الطريقة الكلاسيكية: window.location.href
\n\nهذه هي الطريقة الأكثر شهرة وبساطة. كل ما عليك فعله هو تعيين خاصية href لكائن window.location إلى URL جديد.
// إعادة توجيه بسيطة\nwindow.location.href = 'https://pythonlib.ru/new-page';\n\n// إعادة توجيه مع حفظ السجل (يمكن للمستخدم الضغط على "رجوع")\nwindow.location.href = '/about';\n\nالإيجابيات: البساطة، الوضوح، الحفاظ على سجل المتصفح.
\nالسلبيات: إعادة تحميل كاملة للصفحة. إذا كنت بحاجة إلى "تغيير" URL دون إعادة تحميل (كما في SPA)، فهذه الطريقة غير مناسبة.
\n\nمتى تستخدم: عندما تحتاج حقاً إلى الانتقال إلى صفحة أخرى، ولم تعد الصفحة القديمة مطلوبة. على سبيل المثال، بعد إرسال نموذج بنجاح.
\n\n2. إعادة توجيه بدون سجل: window.location.replace()
\n\nهذه الطريقة تفعل نفس الشيء مثل href، ولكن مع اختلاف مهم: فهي تستبدل الإدخال الحالي في سجل المتصفح. لن يتمكن المستخدم من العودة إلى الصفحة الأصلية باستخدام زر "رجوع".
// إعادة توجيه لا يمكن بعدها العودة باستخدام "رجوع"\nwindow.location.replace('https://pythonlib.ru/new-page');\n\nالإيجابيات: مثالية للصفحات المؤقتة (مثل صفحة تأكيد العمر أو إعادة التوجيه من URL قديم). لا تسبب فوضى في السجل.
\nالسلبيات: قد تربك المستخدم إذا كان يتوقع السلوك القياسي لزر "رجوع".
\n\nمتى تستخدم: عندما تقوم بإعادة التوجيه من URL مؤقت أو خدمي لا ينبغي أن "يتذكره" المتصفح. على سبيل المثال، بعد إعادة التوجيه من /old-page إلى /new-page.
3. تحميل مستند جديد: window.location.assign()
\n\nطريقة assign() هي نسخة أكثر "رسمية" من تعيين href. إنها تفعل نفس الشيء: تحميل مستند جديد وحفظ إدخال في السجل.
window.location.assign('https://pythonlib.ru/new-page');\n\nفي جوهرها، هي مرادف لـ
المدونات
توصيات الكتب
اقرأ أيضًا