โค้ดนั้นง่ายมาก แนวคิดหลักคือการแยกวิเคราะห์พารามิเตอร์ url ลงในอ็อบเจ็กต์ js จากนั้นจึงสะดวกมากในการเพิ่ม ลบ แก้ไข และตรวจสอบ
คัดลอกรหัสรหัสดังต่อไปนี้:
var LG=(ฟังก์ชั่น(lg){
var objURL=ฟังก์ชั่น(url){
this.ourl=url||window.location.href;
this.href="";//?ส่วนหน้า
this.params={};//url วัตถุพารามิเตอร์
this.jing="";//#และส่วนต่อไปนี้
นี้.init();
-
//วิเคราะห์ url และรับ? ด้านหน้าถูกเก็บไว้ใน this.href พารามิเตอร์จะถูกแยกวิเคราะห์เป็นวัตถุ this.params และ # และต่อไปนี้จะถูกเก็บไว้ใน this.jing
objURL.prototype.init=function(){
var str=this.ourl;
ดัชนี var=str.indexOf("#");
ถ้า(ดัชนี>0){
this.jing=str.substr(ดัชนี);
str=str.substring(0,ดัชนี);
-
ดัชนี=str.indexOf("?");
ถ้า(ดัชนี>0){
this.href=str.substring(0,ดัชนี);
str=str.substr(ดัชนี+1);
var parts=str.split("&");
สำหรับ (var i=0;i<parts.length;i++){
var kv=ชิ้นส่วน[0].แยก("=");
this.params[kv[0]]=kv[1];
-
-
อื่น{
this.href=this.ourl;
นี้.params={};
-
-
//เพียงแก้ไข this.params
objURL.prototype.set=function(คีย์,วาล){
this.params[คีย์]=วาล;
-
//เพียงตั้งค่า this.params
objURL.prototype.remove=function(คีย์){
this.params[คีย์]=ไม่ได้กำหนด;
-
//URL หลังการดำเนินการประกอบด้วยสามส่วน
objURL.prototype.url=function(){
var strurl=this.href;
var objps=[];//ใช้การจัดระเบียบอาร์เรย์ที่นี่ จากนั้นจึงดำเนินการรวม
สำหรับ (var k ใน this.params){
ถ้า(this.params[k]){
objps.push(k+"="+this.params[k]);
-
-
ถ้า(objps.length>0){
strurl+="?"+objps.join("&");
-
ถ้า(this.jing.length>0){
strurl+=this.jing;
-
กลับ strurl;
-
//รับค่าพารามิเตอร์
objURL.prototype.get=function(คีย์){
กลับ this.params [คีย์];
-
lg.URL=objURL;
กลับแอลจี;
}(แอลจี||{}));
LG เป็นเพียงเนมสเปซ JS ทั่วไปส่วนตัวของฉัน ไม่มีอะไรอื่นอีก เรียก:
คัดลอกรหัสรหัสดังต่อไปนี้:
var myurl=new LG.URL("http://www.baidu.com?a=1");
myurl.set("b", "สวัสดี"); //b=hello เพิ่ม
การแจ้งเตือน (myurl.url());
myurl.remove("b"); //ลบแล้ว
alert(myurl.get ("a"));//รับค่าของพารามิเตอร์ a ที่นี่เราได้ 1
myurl.set("a",23); //แก้ไขค่า a เป็น 23
การแจ้งเตือน (myurl.url());