บทความนี้วิเคราะห์ความสัมพันธ์ระหว่างแฮชและ ICO ใน JS แบ่งปันสำหรับการอ้างอิงของคุณ รายละเอียดมีดังนี้:
การทดสอบเมื่อเร็ว ๆ นี้ทำให้เกิดข้อผิดพลาดโดยบอกว่า ICO ในบางหน้าไม่แสดงดังนั้นจึงมีการตรวจสอบสาเหตุของปัญหานี้
ก่อนอื่นตรวจสอบให้แน่ใจว่าลิงก์ในหน้านี้ได้แนะนำ favicon.ico หลังจากตรวจสอบพบว่าสถานที่ตั้งค่าใน JS ทำให้ ICO ไม่แสดง เหตุผลก็คือตำแหน่งที่ Hash ถูกตั้งค่าเมื่อ ICO ไม่ได้โหลดซึ่งทำให้ ICO ไม่แสดง
Location.hash มักใช้ในโครงการและใช้สำหรับการวางตำแหน่ง URL เช่น "#Job-Manage" ใน http://h.liepin.com/#job-Manage
การแก้ปัญหามีดังนี้ (นำโครงการปัจจุบันเป็นตัวอย่างและวิเคราะห์สถานการณ์เฉพาะ):
คะแนนโครงการ:
1. เนื้อหาหน้าถูกส่งโดยคลิกเมนูเพื่อส่งคำขอ AJAX
2. เนื้อหาที่แสดงในหน้านี้เป็นเหตุการณ์การคลิกเริ่มต้นของเมนู
3. ตั้งตำแหน่ง. แฮชเป็นเหตุการณ์คลิกผ่านเมนู
สิ่งนี้มีปัญหา เมื่อเข้าสู่หน้าเว็บเมนูคลิกจะถูกดำเนินการดังนั้นจึงตั้งค่า location.hash
คุณสามารถทำได้โดยการตั้งค่าตัวแปรเพื่อให้แน่ใจว่าตำแหน่งนั้นไม่ได้ตั้งค่า Hash เมื่อคุณเข้าสู่หน้าแรก
$ (function () {$ ('. เมนู A') คลิก (ฟังก์ชั่น (เหตุการณ์, hashboolean) {var that = $ (นี่); $ .ajax ({url: '', ประเภท: 'get', ข้อมูล: {}, แคช: false, dataType: 'JSON' ['id', that.attr ('data-id')]. เข้าร่วม ('=');}}});ฉันหวังว่าบทความนี้จะเป็นประโยชน์กับการเขียนโปรแกรม JavaScript ของทุกคน