العنصر <base>

من موسوعة حسوب

يُحدِّد العنصر <base> أساس روابط URL لجميع الروابط النسبية (relative URLs) الموجودة في المستند. لا يجوز استخدام أكثر من عنصر <base> في المستند.

يمكن الوصول إلى رابط URL الأساس في المستند برمجيًا باستخدام document.baseURI.

مثال عن استخدام العنصر <base> لعرض صورة لشعار شركة حسوب (باستخدام العنصر <img>)، مع رابط إلى النسخة الإنكليزية من الموقع (باستخدام العنصر <a>):

<!DOCTYPE html>
<html>

   <head>
      <title>HTML base Tag</title>
      <base href="http://www.hsoub.com">
   </head>

   <body>
      <img src="/assets/images/hsoub-logo.svg">
      <a href="/en">Hsoub in English</a>
   </body>

</html>

بطاقة العنصر

تصنيفات المحتوى البيانات الوصفية
المحتوى المسموح لا يوجد. فهذا العنصر فارغ.
الوسم المختصر لا يجوز استخدام وسم إغلاق لهذا العنصر.
العناصر الأب أي عنصر <head> لا يحتوي على عنصر <base> آخر.
واجهة DOM HTMLBaseElement

دعم المتصفحات

Chrome Firefox Edge Safari Opera
مدعوم مدعوم مدعوم مدعوم مدعوم

الخاصيات

يمكن استخدام الخاصيات العامة في هذا العنصر.

href

رابط URL الأساس لجميع الروابط النسبية الموجودة في المستند.

إذا حُدِّدت قيمةٌ لهذه الخاصية فيجب أن يأتي هذا العنصر قبل أيّة عناصر أخرى لها خاصيات تمثِّل روابط URL.

target

كلمة محجوزة تشير إلى المكان الافتراضي لعرض الناتج عندما تُسبِّب الروابط أو عناصر النماذج بالانتقال إلى صفحةٍ أخرى وذلك إذا لم تُحدِّد تلك العناصر قيمةً خاصةً لهذه الخاصية.

الكلمات المحجوزة التالية لها معانٍ خاصة:

  • ‎__self: عرض النتيجة مكان الصفحة الحالية. هذه هي القيمة الافتراضية إذا لم تُحدَّد قيمةٌ أخرى.
  • __blank: عرض الصفحة في نافذة جديدة.
  • __parent: ستعرض الصفحة مكان الصفحة الأب التي ينتمي إليها iframe، وإذا لم تكن هنالك صفحة أب فستسلك هذه القيمة سلوك القيمة ‎__self نفسه.
  • ‎__top: عرض الصفحة مكان أعلى صفحة في الهيكلية (أي الصفحة التي تكون من الآباء المباشرين أو غير المباشرين للصفحة الحالية وليس لها صفحة أب). إذا لم تكن هنالك صفحة أب فستسلك هذه القيمة سلوك القيمة ‎__self نفسه.

ملاحظات الاستخدام

إذا تم استخدام أكثر من عنصر <base> فستُعتمَد قيمة أوّل خاصية href و أوّل خاصية target؛ وسيتم تجاهل البقية.

إذا استعملنا الشيفرة الآتية في المستند، فسنجد أنَّ المتصفح سيعتمد على خاصية href من أوّل عنصر <base>، وخاصية target من العنصر الثاني، وستجاهل الخاصية href من العنصر الثاني تمامًا:

<base href="http://www.hsoub.com">
<base target="_blank" href="http://www.example.com">

ملاحظات

إذا استخدمنا العنصر <a> للإشارة إلى عناصر أخرى في المستند نفسه (مثلًا: <a href="#anchor">anchor</a>) فسيؤدي ذلك إلى اعتماد رابط URL الأساس المُحدَّد في عنصر <base> وبالتالي إنشاء طلبية http جديدة.

فلو كان لدينا العنصر <base> الآتي:

<base href="http://www.hsoub.com/">

وكان لدينا عنصر كالآتي:

<a href="#anchor">test</a>

فالضغط على الرابط سيؤدي إلى تحميل الصفحة http://www.hsoub.com/#anchor عبر طلبية HTTP جديدة.

مصادر ومواصفات