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

كيفية اكتشاف زر استعادة المتصفح بشكل موثوق وتمييز الإجراءات الظهر داخل الصفحة؟

نشر في 2025-04-17
تصفح:878

How Can We Reliably Detect Browser Back Button Presses and Differentiate Them from In-Page Back Button Actions?

تنفيذ الكشف عن زر استعادة متصفح Browser المتقاطع

اكتشاف زر الخلاف ، اضغط على الأحداث

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

إدارة وظيفة زر العودة داخل الصفحة

لتطبيقات صفحة واحدة باستخدام التنقل التجاري ، ومن الأهمية بمكان التحكم في سلوك الأسر الخلفية. للقيام بذلك ، استخدم صفيفًا (window.location.lashash) لتخزين التجزئة السابقة حيث يقوم المستخدم بالتنقل في الواجهة. بدلاً من ذلك ، تم ابتكار متغير العلم بواسطة onMouseover للوثيقة (عندما يحوم الماوس على المستند) و onMouseLeave (عندما يخرج الماوس). if (window.innerdocclick) { // أدت الآلية داخل الصفحة إلى تغيير التجزئة } آخر { if (window.location.hash! = '#Undefined') { // زر استرداد المتصفح النقر فوق عُد()؛ } } }

منع السعة الخلفية من زر الإعادة المقلدة

لمنع Backspace من تشغيل حدث زر الخلف ، وتنفيذ البرنامج النصي التالي:

$ (function () { var rx = /input | select | textarea /i ؛ $ (document) .bind ("keydown keypress" ، function (e) { if (e.hich == 8) {// 8 == backspace if (! rx.test (e.target.tagname) || e.target.disabled || E.PreventDefault () ؛ } } }) ؛ }) ؛

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

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

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

Copyright© 2022 湘ICP备2022001581号-3