URL: ตัวเลือกทรัพยากรที่เหมือนกัน (URL)
URL ที่สมบูรณ์ประกอบด้วยส่วนเหล่านี้:
Scheme: // host: พอร์ต/path? query#fragment
SCHEME = โปรโตคอลการสื่อสาร (ใช้กันทั่วไป HTTP, FTP, Maito ฯลฯ )
host = host (ชื่อโดเมนหรือ IP)
พอร์ต = หมายเลขพอร์ต
เส้นทาง = เส้นทาง
แบบสอบถาม = คำถาม
เป็นทางเลือกที่จะใช้ในการส่งผ่านพารามิเตอร์ไปยังหน้าเว็บแบบไดนามิก (เช่นหน้าเว็บที่ทำโดยใช้ CGI, ISAPI, PHP/JSP/ASP/ASP.NET และเทคโนโลยีอื่น ๆ ) อาจมีพารามิเตอร์หลายตัวคั่นด้วยสัญลักษณ์ "&" และชื่อและค่าของแต่ละพารามิเตอร์จะถูกคั่นด้วยสัญลักษณ์ "="
แฟรกเมนต์ = ส่วนข้อมูล
สตริงที่ระบุชิ้นส่วนในทรัพยากรเครือข่าย ตัวอย่างเช่นมีคำอธิบายคำนามหลายคำในหน้าเว็บและคุณสามารถใช้แฟรกเมนต์เพื่อค้นหาคำอธิบายคำที่แน่นอนโดยตรง (หรือที่รู้จักกันในชื่อจุดยึด)
สำหรับ URL ดังกล่าว
http://www.master8.net:80/seo/?ver=1.0&id=6#imhere
เราสามารถรับส่วนต่าง ๆ ของมันใน JavaScript
1, window.location.href
สตริง URL ทั้งหมด (แถบที่อยู่ที่สมบูรณ์ในเบราว์เซอร์)
2, window.location.protocol
โปรโตคอลส่วนหนึ่งของ URL
ตัวอย่างนี้ส่งคืนค่า: http:
3, window.location.host
ส่วนที่เป็นโฮสต์ของ URL
ค่าส่งคืนในตัวอย่างนี้: www.master8.net
4, window.location.port
ส่วนพอร์ตของ URL
หากใช้พอร์ต 80 ค่าเริ่มต้น (อัปเดต: แม้ว่า: เพิ่ม 80) ค่าส่งคืนไม่ใช่ค่าเริ่มต้น 80 แต่เป็นอักขระที่ว่างเปล่า
ตัวอย่างนี้ส่งคืนค่า: ""
5, window.location.pathname
ส่วนพา ธ ของ URL (นั่นคือที่อยู่ไฟล์)
ตัวอย่างนี้ส่งคืนค่า: /seo /
6, window.location.search
ส่วนการสืบค้น (พารามิเตอร์)
นอกเหนือจากการกำหนดค่าให้กับภาษาแบบไดนามิกแล้วเรายังสามารถให้หน้าคงที่และใช้ JavaScript เพื่อรับค่าของพารามิเตอร์ที่เชื่อว่าเป็น
ค่าส่งคืนในตัวอย่างนี้:? ver = 1.0 & id = 6
7, window.location.hash
จุดยึด
ค่าส่งคืนในตัวอย่างนี้: #imhere
8. ค่าพารามิเตอร์ URL
วิธีที่ 1: วิธีการวิเคราะห์ปกติ
การคัดลอกรหัสมีดังนี้:
ฟังก์ชั่น getQueryString (ชื่อ) {
var reg = ใหม่ regexp ("(^| &)" + ชื่อ + "= ([^&]*) (& | $)", "i");
var r = window.location.search.substr (1) .match (reg);
ถ้า (r! = null) ส่งคืน Unsescape (r [2]); คืนค่า null;
-
วิธีที่ 2: ใช้แยกเพื่อแยกออกเป็นอาร์เรย์
การคัดลอกรหัสมีดังนี้:
ฟังก์ชั่น getRequest () {
var url = location.search; // รับสตริงหลังจาก "?" ตัวละครใน URL
var therequest = new Object ();
ถ้า (url.indexof ("?")! = -1) {
var str = url.substr (1);
strs = str.split ("&");
สำหรับ (var i = 0; i <strs.length; i ++) {
มี [strs [i] .split ("=") [0]] = Unsescape (strs [i] .split ("=") [1]);
-
-
กลับมาที่นั่น
-
วิธีนี้ง่ายมาก แต่ก็ใช้ได้จริงมาก นี่คือสองวิธีที่ใช้กันทั่วไป หากคุณมีวิธีการที่แตกต่างกันโปรดบอกฉัน บทความนี้ยังคงได้รับการปรับปรุง ทุกคนก้าวหน้าไปด้วยกัน