"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > ## هل يمكن لجافا سكريبت اكتشاف مدى توفر سجل المتصفح؟

## هل يمكن لجافا سكريبت اكتشاف مدى توفر سجل المتصفح؟

تم النشر بتاريخ 2024-11-19
تصفح:531

## Can JavaScript Detect Browser History Availability?

كيفية اكتشاف توفر سجل المتصفح

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

المنهج الفني: History.previous

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

let prevPageExists = history.previous ? true : false;

حدود التاريخ.previous

لسوء الحظ، لا توفر هذه الطريقة حلاً موثوقًا. في معظم المتصفحات، تعتبر هذه الخاصية مصدر قلق أمني وعادةً ما تُرجع غير محددة.

الأساليب البديلة: History.length

هناك طريقة أخرى مقترحة وهي التحقق من History.length. ملكية. تشير هذه الخاصية إلى العدد الإجمالي للإدخالات في سجل المتصفح.

let historyLength = history.length;

أوجه القصور في History.length

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

اعتبارات عملية

في السيناريوهات العملية، يمكن للمطورين غالبًا ما تختار نهجًا أكثر دقة. من خلال إضافة الروابط التي تؤدي إلى تشغيل History.back() أو History.go(-1)، يتم اختبار وظيفة زر الرجوع بشكل غير مباشر. إذا كان زر الرجوع غير متاح، فلن يكون للنقر على الرابط أي تأثير. يعالج هذا الأسلوب توقعات المستخدم بشكل فعال دون انتهاك بروتوكولات الأمان.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3