octothorpe / number-sign / hashmark มีความสำคัญเป็นพิเศษใน URL โดยปกติจะระบุชื่อของส่วนของเอกสาร คำที่แม่นยำคือข้อความที่ตามหลังแฮชคือส่วนที่ยึดเหนี่ยวของ URL หากคุณใช้ Wikipedia คุณจะเห็นว่าหน้าส่วนใหญ่มีสารบัญและคุณสามารถข้ามไปยังส่วนต่างๆภายในเอกสารด้วยจุดยึดเช่น:
https://en.wikipedia.org/wiki/Alan_Turing#Early_computers_and_the_Turing_test
https://en.wikipedia.org/wiki/Alan_Turing
ระบุหน้าและEarly_computers_and_the_Turing_test
เป็นจุดยึด ด้วยเหตุผลที่ว่า Facebook และการใช้งานจาวาสคริขับเคลื่อนอื่น ๆ (เช่นของตัวเองไม้และหิน ) การใช้เบรกที่พวกเขาต้องการที่จะทำให้หน้าบุ๊คมาร์ค (แนะนำโดยความคิดเห็นในคำตอบนั้น) หรือสนับสนุนปุ่มย้อนกลับโดยไม่ต้องโหลดหน้าทั้งหมดจาก เซิร์ฟเวอร์
เพื่อรองรับบุ๊กมาร์กและปุ่มย้อนกลับคุณจำเป็นต้องเปลี่ยน URL อย่างไรก็ตามหากคุณเปลี่ยนส่วนของหน้า (มีลักษณะคล้ายwindow.location = 'http://raganwald.com';
) เป็น URL อื่นหรือไม่ระบุสมอเบราว์เซอร์จะโหลดทั้งหน้าจาก URL ลองสิ่งนี้ในคอนโซล Javascript ของ Firebug หรือ Safari http://minimal-github.gilesb.com/raganwald
ภาระ ในคอนโซล Javascript ให้พิมพ์:
window.location = 'http://minimal-github.gilesb.com/raganwald';
คุณจะเห็นการรีเฟรชหน้าจากเซิร์ฟเวอร์ ตอนนี้พิมพ์:
window.location = 'http://minimal-github.gilesb.com/raganwald#try_this';
Aha! ไม่มีการรีเฟรชหน้า! ประเภท:
window.location = 'http://minimal-github.gilesb.com/raganwald#and_this';
ยังคงไม่รีเฟรช ใช้ปุ่มย้อนกลับเพื่อดูว่า URL เหล่านี้อยู่ในประวัติเบราว์เซอร์ เบราว์เซอร์สังเกตว่าเราอยู่ในหน้าเดียวกัน แต่เพิ่งเปลี่ยนสมอดังนั้นมันไม่โหลด ด้วยพฤติกรรมนี้เราสามารถมีแอปพลิเคชัน Javascript เดียวที่ปรากฏบนเบราว์เซอร์ให้อยู่ใน 'หน้า' หนึ่งหน้า แต่มีส่วนที่คั่นหน้าได้มากมายที่เกี่ยวข้องกับปุ่มย้อนกลับ แอปพลิเคชันต้องเปลี่ยนจุดยึดเมื่อผู้ใช้เข้าสู่ 'สถานะ' ที่แตกต่างกันและในทำนองเดียวกันหากผู้ใช้ใช้ปุ่มย้อนกลับหรือคั่นหน้าหรือลิงก์เพื่อโหลดแอปพลิเคชันที่มีสมอรวมอยู่ด้วย
คุณก็มีแล้ว: แองเคอร์ให้กลไกการเขียนโปรแกรมจาวาสคริปต์สำหรับการสร้างแอพพลิเคชั่นที่คั่นหน้าได้ดัชนีและปุ่มย้อนกลับ เทคนิคนี้มีชื่อ: มันเป็นหน้าจอเดียว
ps มีประโยชน์ที่สี่สำหรับเทคนิคนี้: การโหลดเนื้อหาของหน้าเว็บผ่าน AJAX แล้วฉีดลงใน DOM ปัจจุบันสามารถทำได้เร็วกว่าการโหลดหน้าใหม่ นอกเหนือจากการเพิ่มความเร็วแล้วเทคนิคเพิ่มเติมเช่นการโหลดบางส่วนในพื้นหลังสามารถทำได้ภายใต้การควบคุมของโปรแกรมเมอร์
pps จากทั้งหมดนั้นเครื่องหมาย 'bang' หรืออัศเจรีย์เป็นคำใบ้เพิ่มเติมของโปรแกรมรวบรวมข้อมูลเว็บของ Google ว่าหน้าเว็บเดียวกันนั้นสามารถโหลดได้จากเซิร์ฟเวอร์ด้วย URL ที่แตกต่างกันเล็กน้อย ดูอาแจ็กซ์รวบรวมข้อมูล อีกเทคนิคหนึ่งคือการทำให้แต่ละลิงก์ชี้ไปที่ URL ที่เข้าถึงได้จากเซิร์ฟเวอร์จากนั้นใช้ Javascript ที่ไม่สร้างความรำคาญเพื่อเปลี่ยนเป็น SPI ด้วยจุดยึด
นี่คือลิงค์สำคัญอีกครั้ง: ประกาศหน้าจอเดียว
shebang
เป็น ... en.wikipedia.org/wiki/Shebang_%28Unix%29