ในแอปพลิเคชั่นจริงเรามักจะต้องใช้ความจำเป็นในการคลิกการส่งคืนกลับ, ย้อนกลับ, หน้าก่อนหน้าและปุ่มอื่น ๆ ในแอพมือถือและเบราว์เซอร์เพื่อปิดหน้าปรับไปยังหน้าระบุหรือดำเนินการอื่น ๆ ดังนั้นวิธีการตรวจสอบเหตุการณ์เมื่อคลิกปุ่มส่งคืนของแอพเช่น WeChat, Alipay, Baidu Nuomi, Baidu Wallet ฯลฯ หรือหน้าก่อนหน้าของเบราว์เซอร์หรือปุ่มย้อนกลับ
ฉันเชื่อว่าเพื่อนหลายคนเป็นเหมือนฉันที่ค้นหาใน Baidu และ Sogou มาเป็นเวลานาน แต่ไม่พบวิธีการ
นี่คือวิธีการตรวจสอบ:
ก่อนอื่นเราต้องเข้าใจประวัติของเบราว์เซอร์
อย่างที่คุณทราบเราสามารถใช้ ประวัติหน้าต่าง JavaScript บนหน้าและกลับไปที่หน้าก่อนหน้า อย่างไรก็ตามเนื่องจากเหตุผลด้านความปลอดภัย JavaScript ไม่อนุญาตให้แก้ไขลิงก์ URL ที่มีอยู่ในประวัติศาสตร์ แต่คุณสามารถใช้วิธีการ pushstate เพื่อเพิ่มลิงก์ URL ไปยังประวัติและให้การตรวจสอบเหตุการณ์ป๊อปสเตตเพื่อปรากฏ URL จากสแต็กประวัติศาสตร์ เนื่องจากมีการตรวจสอบเหตุการณ์ป๊อปสเตตเราจึงสามารถตรวจสอบได้
คลิกปุ่มเพื่อฟังรหัสการใช้งานสำหรับปุ่มส่งคืนกลับและหน้าก่อนหน้า:
window.addeventListener ("popstate", ฟังก์ชั่น (e) {แจ้งเตือน ("ฉันได้ยินเหตุการณ์ปุ่มส่งคืนของเบราว์เซอร์"); // ใช้ฟังก์ชั่นของคุณเองตามความต้องการของคุณเอง} เท็จ);แม้ว่าเราจะฟังเหตุการณ์ด้านหลัง แต่หน้าจะยังคงกลับไปที่หน้าก่อนหน้าดังนั้นเราจึงต้องใช้ pushstate เพื่อเพิ่ม URL ของหน้านี้เพื่อแสดงหน้านี้ ทุกคนรู้ดีว่าเป็น #
ฟังก์ชัน pushhistory () {var state = {title: "title", url: "#"}; window.history.pushstate (state, "title", "#"); -เมื่อเข้าสู่หน้านี้เรากดการเชื่อมต่อในท้องถิ่นกับประวัตินี้ เมื่อคลิกที่การดำเนินงานของการส่งคืนกลับและหน้าก่อนหน้าฟังและใช้การดำเนินการของคุณเองในรหัสการฟัง
นี่คือรหัสที่สมบูรณ์:
$ (function () {pushhistory (); window.addeventListener ("popstate", ฟังก์ชั่น (e) {แจ้งเตือน ("ฉันได้ยินเหตุการณ์ปุ่มส่งคืนของเบราว์เซอร์"); // ใช้ฟังก์ชั่นของคุณเองตามความต้องการของคุณ -เนื้อหาข้างต้นเป็นเพียงรหัสหลักที่ระบุโดยตัวแก้ไขสำหรับทุกคน คุณสามารถเพิ่มแก้ไขและลบรหัสตามความต้องการของคุณ หากคุณพบคำถามใด ๆ ในระหว่างกระบวนการอ้างอิงถึงรหัสนี้โปรดฝากข้อความถึงฉันและบรรณาธิการจะตอบกลับทุกคนในเวลา!