الأخبار التكنولوجية والاستعراضات والنصائح!

لا تستخدم سمة الرابط Target=”_Blank” في هذه الحالات

ستساعدك المقالة التالية: لا تستخدم سمة الرابط Target=”_Blank” في هذه الحالات

سيؤدي استخدام سمة الرابط _blank إلى فتح الرابط في نافذة أو علامة تبويب متصفح جديدة.

لكن الأمر ليس بهذه البساطة كما يبدو.

اتضح أن سمة الارتباط _blank لا تمثل خطرًا أمنيًا فحسب، بل هناك أيضًا مواقف متعددة يوصى فيها باستخدام شيء آخر غير _blank.

في هذه المقالة، ستتعلم متى لا يكون استخدام السمة _blank فكرة جيدة.

ما هي سمة الارتباط _Blank؟

تخبر سمة الرابط _blank المتصفح بفتح رابط ضمن علامة تبويب جديدة تمامًا.

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

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

هل السمة _Blank غير أخلاقية؟

يرى البعض أنه من الأفضل منح المستخدم خيار فتح علامة تبويب جديدة في المتصفح.

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

المشكلة في وجهة النظر هذه هي أنه من المحتمل جدًا أن معظم الأشخاص لا يعرفون أن لديهم خيار فتح نافذة متصفح جديدة.

كل جمهور الموقع ماهر تقنيًا على مستويات مختلفة.

ولكن ربما يكون من الآمن أن نقول إن العديد من الأشخاص ما زالوا لا يعرفون أنه يمكنهم النقر بزر الماوس الأيمن (أو النقر لفترة طويلة على جهاز محمول) واختيار فتح علامة تبويب جديدة في المتصفح.

لذا، فإن إعطاء “الاختيار” للمستخدمين ليس في الحقيقة خيارًا.

إنهم يذهبون إلى أي مكان ترسلهم إليه.

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

لقد تم وضع مسألة الأخلاق جانبا إلى حد كبير في أيامنا هذه.

إن اختيار ما إذا كنت تريد استخدام سمة الارتباط _blank أم لا هو اختيار شخصي وعملي.

هناك سبب أمني لعدم استخدام _Blank

تعد سمة الرابط target=”_blank” محفوفة بالمخاطر وتفتح موقع ويب لمشكلات الأمان والأداء.

جوجل صفحة Web.dev حول المخاطر يتم تلخيص استخدام سمة الرابط _blank على النحو التالي:

“قد تعمل الصفحة الأخرى بنفس عملية صفحتك. إذا كانت الصفحة الأخرى تستخدم قدرًا كبيرًا من JavaScript، فقد يتأثر أداء صفحتك.

يمكن للصفحة الأخرى الوصول إلى كائن النافذة الخاص بك باستخدام خاصية window.opener. قد يسمح هذا للصفحة الأخرى بإعادة توجيه صفحتك إلى عنوان URL ضار.”

الحل؟

استخدم سمات الرابط rel=”noopener” أو rel=”noreferrer” لكل رابط.

  • ال rel = “noopener” تمنع سمة الرابط الموقع المرتبط من الوصول إلى صفحة الويب الأصلية المرتبطة. وهذا يمنع الموقع المرتبط من السيطرة أو التأثير على موقع الارتباط.
  • ال rel = “noreferrer” تقوم سمة الرابط بإخفاء معلومات المُحيل من الموقع الذي يتم الارتباط به. عندما ينقر زائر الموقع على الرابط rel=”noreferrer”، فإن الموقع الذي يتم الارتباط به لن يعرف الموقع الذي أحال الزائر.

تعمل سمة الارتباط rel=”noreferrer” أيضًا بنفس وظيفة سمة الرابط “noopener” حيث تمنع الموقع المرتبط من التحكم في موقع الارتباط.

لذلك، إذا كنت تريد إرسال معلومات مرجعية لمواقع الويب مع حماية نفسك من المشكلات الأمنية لسمة الرابط _blank، فاستخدم سمة الرابط “noopener”.

إذا كنت تفضل الحفاظ على خصوصيتك وعدم تمرير معلومات المُحيل مع حماية نفسك أيضًا من المشكلات الأمنية المرتبطة باستخدام سمة الرابط _blank، فاستخدم سمة الرابط rel=”noreferrer”.

اعتبارات أمن البيانات للصفحات الحساسة

هناك مواقف محددة تتعلق بالأمان حيث قد لا يرغب الناشر في أن يقوم المستخدم بإنشاء صفحات ويب متعددة. إحدى هذه الحالات هي موقع ويب يتعامل مع معلومات العملاء الحساسة.

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

وقد يتركون هذه الأشياء دون علمهم windows مفتوح بدون قصد

على سبيل المثال، قد يغلقون النافذة الرئيسية ونافذة أخرى ولا يدركون أنه قد تكون هناك نافذة ثالثة تحتوي على معلومات سرية للغاية لا تزال مفتوحة في علامة تبويب الخلفية بالمتصفح.

في هذه الحالة، قد يختار ناشر الموقع استخدام سمة رابط مختلفة مثل “فارغ” (مع الشرطة السفلية _).

ستفتح سمة الرابط “الفارغ” رابطًا في علامة تبويب متصفح جديدة تمامًا.

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

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

بديل للسمة _فارغة

بالمناسبة، ليس عليك استخدام _blank. يمكنك استخدام كلمة مختلفة.

الفرق بين استخدام _blank وأي كلمة أخرى هو أن استخدام كلمة أخرى سيؤدي إلى تقييد كل رابط في تلك الصفحة ليتم فتحه داخل نفس علامة تبويب المتصفح الجديدة.

على سبيل المثال، إذا قمت بترميز رابط مثل هذا:

سيتم فتح الرابط أعلاه في علامة تبويب متصفح جديدة تمامًا.

الآن، إذا كان لديك رابطان لهما نفس سمة الرابط:

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

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

قد لا ترغب في استخدام _Blank للإطارات المضمنة

قد تكون هناك أوقات قد يحتاج فيها الناشر إلى استخدام شيء آخر غير السمة _blank.

إحدى هذه الحالات مخصصة للإطارات المضمنة.

الإطار المضمن هو عنصر HTML يمكن أن يحتوي على مستند ويب آخر داخله.

على سبيل المثال، يتم تضمين بعض الإعلانات داخل إطار iframe بحيث تصبح في نهاية المطاف صفحة ويب داخل صفحة ويب.

يتم ترميز الإطار المضمّن باستخدام عنصر iframe (يُسمى أيضًا علامة iframe).

نظرًا لأن إطار iframe هو في الأساس صفحة ويب مضمنة في صفحة ويب أخرى، فإن مواصفات HTML تحتوي على سمات ارتباط خاصة بإطارات iframe والتي ستؤدي إلى سلوك الارتباطات المضمنة داخل إطار iframe بطريقة معينة.

لا يزال من الممكن استخدام _blank داخل إطار iframe لإنشاء صفحة ويب في علامة تبويب متصفح جديدة. لكن لا يُنصح بذلك إذا كنت تريد سلوكًا محددًا لإطار iframe.

هناك ثلاث سمات رابط خاصة بـ iframe للاختيار من بينها:

  1. _الأبوين: سيفتح رابطًا خارج إطار iframe (وكذلك داخل نفس صفحة الويب).
  2. _الذات: سيفتح الرابط داخل نفس iframe (أو نفس صفحة الويب) ولكن فقط إذا كان الرابط موجودًا في نفس المجال. لن يعمل إذا كان الرابط إلى مجال آخر.
  3. _قمة: سيتم فتحه خارج إطار iframe (وكذلك داخل نفس صفحة الويب).

_ سمات الارتباط الفارغة

عندما يتعلق الأمر بسمة الرابط _blank، فمن المحتمل أن يكون من المقبول تعميمها واستخدامها ببساطة طالما أن لديك سمة رابط noreferrer أو noopener مرفقة بها.

ومع ذلك، من الجيد أن نعرف أن هناك بدائل.

في النهاية، يعد استخدام سمة الرابط _blank أمرًا سهلاً ومعقدًا بقدر ما تريد، ويعتمد على احتياجاتك المحددة.

المزيد من الموارد: