ฉันมักจะใช้ window.location และมันจำโครงสร้างไม่ได้ มันสามารถแยกออกได้อย่างง่ายดายและอำนวยความสะดวกในการสืบค้นในอนาคต
ตัวอย่าง
URL: http: // bacom: 88/index.php? name = kang & เมื่อ = 2011#ก่อน
| คุณสมบัติ | ความหมาย | ค่า |
|---|---|---|
| โปรโตคอล: | โปรโตคอล | "http:" |
| ชื่อโฮสต์: | ชื่อเซิร์ฟเวอร์ | "Bacom" |
| ท่าเรือ: | ท่าเรือ | "88" |
| ชื่อพา ธ : | ชิ้นส่วนหลังจากชื่อโฮสต์ใน URL | "/index.php" |
| ค้นหา: | ส่วนหลังจาก "?" เรียกอีกอย่างว่าสตริงแบบสอบถาม | "? name = Kang & เมื่อ = 2011" |
| กัญชา: | กลับไปที่เนื้อหาหลังจาก "#" | "#อันดับแรก" |
| เจ้าภาพ: | เท่ากับพอร์ตชื่อโฮสต์ + | "Bacom: 88" |
| Href: | URL เต็มของหน้าปัจจุบัน | "http://www.a.com:88/index.php?name=kang&hen=2011#first" |
หาก window.location และ document.location เทียบเท่ากันพวกเขาสามารถใช้แทนกันได้
คุณสมบัติแปดแห่งของสถานที่สามารถอ่านได้และเขียนได้ แต่มีเพียงการเขียนของ Href และ Hash เท่านั้นที่มีความหมาย ตัวอย่างเช่นการเปลี่ยน location.href จะย้ายไปยัง URL ในขณะที่แก้ไขตำแหน่ง Hash จะข้ามไปที่แท็ก (ถ้ามี) ของจุดยึด (<a id = "ชื่อ"> หรือ <div id = "id"> ฯลฯ ) ในหน้าปัจจุบันและหน้าจะไม่ถูกโหลดใหม่
สังเกต
URL: http: // bacom: 88/index.php? name = kang & how =#เมื่อ = 2011#ก่อน
| ค้นหา: | "? name = Kang & How =" | หลังจากแรก "?" |
| กัญชา: | "#เมื่อ = 2011#ก่อน" | เนื้อหาหลังจาก "#" แรก |
แฮช: "#เมื่อ = 2011#แรก" เนื้อหาหลังจาก "#" แรก
วิธี
location.assign (URL)
location.assign ('http://www.baidu.com'); เทียบเท่ากับ window.location = 'http://www.baidu.com'
วิธีนี้จะบอกว่าที่อยู่ใหม่ถูกวางไว้ในสแต็กประวัติเบราว์เซอร์ซึ่งหมายความว่า "ปุ่มย้อนกลับ" ยังสามารถกลับไปที่หน้าได้หลังจากไปที่หน้าใหม่
location.replace (URL)
เช่นเดียวกับวิธีการกำหนด แต่หน้านี้จะถูกลบออกจากสแต็กประวัติเบราว์เซอร์ซึ่งหมายความว่า "ปุ่มย้อนกลับ" ไม่สามารถกลับไปที่หน้าหลังจากกระโดดไปยังหน้าใหม่ ปัจจุบัน IE และ Chrome เป็นเพียงการกระโดดที่เรียบง่ายและมีเพียง Firefox เท่านั้นที่จะลบประวัติของหน้านี้
location.reload (บังคับ)
โหลดหน้าปัจจุบันใหม่ หากแรงเป็นจริงมันจะถูกโอเวอร์โหลดจากฝั่งเซิร์ฟเวอร์ เท็จมากเกินไปจากแคชเบราว์เซอร์และค่าเริ่มต้นเป็นเท็จ