History API هو واجهة برمجة تطبيقات (API) في المتصفح تسمح لك بتعديل سجل التصفح (browser history) وعناوين URL دون إعادة تحميل الصفحة بالكامل. هذا يعني أنه يمكنك تغيير عنوان URL في شريط العنوان ليظهر كصفحة جديدة (مثل https://fruits.com/apples
بدلاً من https://fruits.com/#/apples
)، بينما لا تزال على نفس الصفحة في الواقع، ويتم تغيير المحتوى باستخدام JavaScript.
بكلمات أخرى:
تُشير واجهة برمجة تطبيقات التاريخ (History API) إلى مجموعة من الميزات في متصفحات الويب التي تُمكِّن المطورين من التفاعل مع سجل تصفح المستخدم باستخدام JavaScript. تسمح هذه الواجهة للمطورين بالتحكم في التنقل بين الصفحات المحفوظة في سجل المتصفح دون الحاجة إلى تحميل صفحات جديدة بالكامل.
بشكل أكثر تفصيلا، تتيح واجهة برمجة تطبيقات التاريخ ما يلي:
التنقل في سجل المتصفح:
يمكن للمطورين استخدام واجهة برمجة التطبيقات للتنقل ذهابًا وإيابًا في سجل التصفح، تمامًا كما يفعل المستخدمون باستخدام أزرار “رجوع” و “تقدم” في المتصفح.
تحديث عنوان URL:
يمكن لواجهة برمجة التطبيقات تغيير عنوان URL المعروض في شريط عنوان المتصفح، حتى في تطبيقات الصفحة الواحدة (SPAs) التي لا تتطلب إعادة تحميل الصفحة بأكملها لتغيير المحتوى المعروض.
إضافة حالات إلى السجل:
يمكن للمطورين إضافة حالات جديدة إلى سجل المتصفح، مما يسمح لهم بتتبع التغييرات في حالة التطبيق وتوفير تجربة مستخدم أكثر سلاسة.
الاستماع إلى تغييرات السجل:
يمكن للتطبيقات الاستماع إلى أحداث تغيير السجل (مثل حدث popstate) لتنفيذ إجراءات معينة عندما يتغير سجل المتصفح.
مثال على استخدام History API (الطريقة الصحيحة وفقا لجوجل):
بدلاً من الروابط السابقة، يمكنك استخدام JavaScript و History API لتوليد روابط تبدو كالتالي:
https://fruits.com/apples
(يعرض محتوى عن التفاح)
https://fruits.com/bananas
(يعرض محتوى عن الموز)
https://fruits.com/oranges
(يعرض محتوى عن البرتقال)
عندما ينقر المستخدم على رابط “التفاح” على سبيل المثال، فإن JavaScript يقوم بتغيير المحتوى على الصفحة لعرض معلومات التفاح، وفي نفس الوقت، يقوم History API بتحديث عنوان URL في المتصفح ليصبح