جافاسكربتسجل الصفحات
- مفهوم سجل الصفحات
- الكائن
history
- الإنتقال إلى الصفحة السابقة في السجل
- الإنتقال إلى الصفحة التالية في السجل
- الإنتقال إلى صفحة محددة في السجل
- الحصول على عدد الصفحات الموجودة في السجل
مفهوم سجل الصفحات
عند فتح أي تبويب ( Tab ) جديد في المتصفح فأنه يقوم ببناء سجل ( History ) خاص له ليحفظ فيه ترتيب الصفحات التي يقوم المستخدم بالدخول إليها. لهذا السبب يمكنه العودة إلى الصفحات السابقة أو التالية بنفس الترتيب الذي شاهدها فيه.
جافاسكربت تتيح لك التعامل مع السجل الخاص بالمتصفح، مما يعني أنه يمكن جعل المستخدم ينتقل إلى الصفحة السابقة أو التالية الموجودة في السجل، معرفة عدد الصفحات المخزنة فيه، أو الذهاب لصفحة محددة من الصفحات الموجودة فيه.
الكائن history
الكائن history
أو window.history
يحتوي على دوال يمكنك استخدامها للإنتقال إلى أي صفحة موجودة في السجل الذي يتم بناؤه لحظة قيام المستخدم بفتح تبويب في المتصفح.
في حال دخل المستخدم بشكل مباشر إلى الصفحة و لم يكن قد دخل إلى أي صفحة أخرى بعد فإن زر الصفحة السابقة و زر الصفحة التالية في المتصفح لا يعملان و كذلك دوال الكائن history
التي يمكن استخدامها للإنتقال من صفحة إلى أخرى.
عند تجربة أي مثال في هذا الدرس سيتم فتح محرر الويب مكان الصفحة الحالية و ليس في تبويب ( Tab ) جديد كما جرت العادة و ذلك حتى تستطيع تجربة التنقل بين الصفحات التي سبق و شاهدتها في التبويب الحالي في المتصفح. ستفهم هذا الأمر أكثر عند تجربة الأمثلة.
الإنتقال إلى الصفحة السابقة في السجل
للعودة إلى الصفحة السابقة الموجودة في سجل المتصفح يمكنك استخدام الدالة history.back()
و هي ستقوم بفتح الصفحة السابقة مكان الصفحة الحالية.
في المثال التالي قمنا بإضافة زر يتيح للمستخدم العودة إلى الصفحة السابقة التي كان قد شاهدها.
الإنتقال إلى الصفحة التالية في السجل
للعودة إلى الصفحة التالية الموجودة في سجل المتصفح يمكنك استخدام الدالة history.forward()
و هي ستقوم بفتح الصفحة التالية مكان الصفحة الحالية.
في المثال التالي قمنا بإضافة زر يتيح للمستخدم العودة إلى الصفحة التالية التي كان قد شاهدها.
الإنتقال إلى صفحة محددة في السجل
للعودة إلى صفحة موجودة في سجل المتصفح يمكنك استخدام الدالة history.go()
و تمرير رقم يشير لموقع الصفحة التي تريد العودة لها.
- في حال كان رقم الصفحة أصغر من 0 مثل 1- فهذا يعني أنك تريد العودة للصفحة السابقة.
- في حال كان رقم الصفحة أكبر من 0 مثل 1+ فهذا يعني أنك تريد العودة للصفحة التالية.
- في حال كان رقم الصفحة يساوي من 0 فهذا يعني أنك تريد تحديث الصفحة نفسها.
في المثال التالي قمنا بإضافة أزرار تتيح للمستخدم الإنتقال بشكل مباشر إلى صفحات موجودة في السجل.
مثال
<button onclick="history.go(-2)">Go back 2 pages</button> <button onclick="history.go(-1)">Go back 1 page</button> <button onclick="history.go(0)">Reload the page</button> <button onclick="history.go(1)">Go forward 1 page</button> <button onclick="history.go(2)">Go forward 2 pages</button>
الأمر history.go(0)
لا يعمل كما هو متوقع في محرر الويب بسبب أن محرر الويب يحتوي على عدة صفحات داخلية <iframe>
.
الحصول على عدد الصفحات الموجودة في السجل
لمعرفة عدد الصفحات التي شاهدها المستخدم بعد قيامه بفتح المتصفح يمكنك استخدام الخاصية history.length
.
في المثال التالي قمنا بعرض عدد الصفحات الموجودة في السجل.