كيفية إجراء إعادة توجيه في JavaScript: أفضل الممارسات لعام 2025

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

كيفية إجراء إعادة توجيه في JavaScript: من المبتدئ إلى المحترف في عام 2025

\n\n

هل سبق لك أن دخلت إلى موقع ويب، وبعد ثانية واحدة "نقلك" تلقائياً إلى صفحة أخرى؟ أو ربما ضغطت على زر ووجدت نفسك في قسم جديد تماماً دون إعادة تحميل الصفحة؟ كل هذا هو سحر إعادة التوجيه في JavaScript. سؤال "How do I redirect to another webpage?" ظل لسنوات عديدة من أكثر الأسئلة شيوعاً على Stack Overflow، وهذا ليس من قبيل الصدفة: إعادة التوجيه هي عملية أساسية ولكنها مهمة للغاية في تطوير الويب.

\n\n

في هذه المقالة، لن نعرض فقط كيفية كتابة window.location.href = '...'. بل سنشرح أي طريقة تختار في عام 2025، لماذا بعض الطرق أفضل من غيرها، وكيف تتجنب الأخطاء التي قد تفسد تجربة المستخدم أو تحسين محركات البحث (SEO) لموقعك. استعدوا، سيكون الأمر ممتعاً!

\n\n

لماذا إعادة التوجيه ليست مجرد "انتقال عبر رابط"؟

\n\n

للوهلة الأولى، تبدو المهمة بسيطة: "الانتقال إلى URL آخر". ولكن الشيطان، كما هو الحال دائماً، يكمن في التفاصيل. يمكن أن تكون إعادة التوجيه:

\n\n
    \n
  • فورية — المستخدم لم يلاحظها حتى.
  • \n
  • بتأخير — لعرض رسالة مثل "سيتم إعادة توجيهك خلال 5 ثوانٍ".
  • \n
  • سلسة — ضمن تطبيق الصفحة الواحدة (SPA)، حيث لا يتم إعادة تحميل الصفحة.
  • \n
  • مشروطة — فقط للمستخدمين المسجلين أو من أجهزة معينة.
  • \n
\n\n

ولكل سيناريو، هناك الأداة الصحيحة المناسبة. استخدام window.location.href لجميع الحالات يشبه استخدام مجهر لدق المسامير. قد ينجح، ولكن لماذا؟

\n\n

أفضل 5 طرق لإعادة التوجيه في JavaScript في عام 2025

\n\n

دعنا نستعرض كل طريقة مع أمثلة وشروحات حول متى يجب استخدامها.

\n\n

1. الطريقة الكلاسيكية: window.location.href

\n\n

هذه هي الطريقة الأكثر شهرة وبساطة. كل ما عليك فعله هو تعيين خاصية href لكائن window.location إلى URL جديد.

\n\n
// إعادة توجيه بسيطة\nwindow.location.href = 'https://pythonlib.ru/new-page';\n\n// إعادة توجيه مع حفظ السجل (يمكن للمستخدم الضغط على "رجوع")\nwindow.location.href = '/about';
\n\n

الإيجابيات: البساطة، الوضوح، الحفاظ على سجل المتصفح.

\n

السلبيات: إعادة تحميل كاملة للصفحة. إذا كنت بحاجة إلى "تغيير" URL دون إعادة تحميل (كما في SPA)، فهذه الطريقة غير مناسبة.

\n\n

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

\n\n

2. إعادة توجيه بدون سجل: window.location.replace()

\n\n

هذه الطريقة تفعل نفس الشيء مثل href، ولكن مع اختلاف مهم: فهي تستبدل الإدخال الحالي في سجل المتصفح. لن يتمكن المستخدم من العودة إلى الصفحة الأصلية باستخدام زر "رجوع".

\n\n
// إعادة توجيه لا يمكن بعدها العودة باستخدام "رجوع"\nwindow.location.replace('https://pythonlib.ru/new-page');
\n\n

الإيجابيات: مثالية للصفحات المؤقتة (مثل صفحة تأكيد العمر أو إعادة التوجيه من URL قديم). لا تسبب فوضى في السجل.

\n

السلبيات: قد تربك المستخدم إذا كان يتوقع السلوك القياسي لزر "رجوع".

\n\n

متى تستخدم: عندما تقوم بإعادة التوجيه من URL مؤقت أو خدمي لا ينبغي أن "يتذكره" المتصفح. على سبيل المثال، بعد إعادة التوجيه من /old-page إلى /new-page.

\n\n

3. تحميل مستند جديد: window.location.assign()

\n\n

طريقة assign() هي نسخة أكثر "رسمية" من تعيين href. إنها تفعل نفس الشيء: تحميل مستند جديد وحفظ إدخال في السجل.

\n\n
window.location.assign('https://pythonlib.ru/new-page');
\n\n

في جوهرها، هي مرادف لـ

المدونات

توصيات الكتب