Dalam pembangunan WEB, javascript sering digunakan untuk mendapatkan maklumat URL halaman semasa. Berikut adalah ringkasan saya untuk mendapatkan maklumat URL.
Mari kita ambil contoh URL dan dapatkan pelbagai komponennya: http://i.cnblogs.com/EditPosts.aspx?opt=1
1 window.location.href (tetapkan atau dapatkan keseluruhan URL sebagai rentetan)
var test = window.location.href;
makluman(ujian);
Kembali: http://i.cnblogs.com/EditPosts.aspx?opt=1
2. window.location.protocol (tetapkan atau dapatkan bahagian protokol URL)
var test = window.location.protocol;
makluman(ujian);
Kembali: http:
3. window.location.host (tetapkan atau dapatkan bahagian hos URL)
var test = window.location.host;
makluman(ujian);
Kembali: i.cnblogs.com
4 window.location.port (tetapkan atau dapatkan nombor port yang dikaitkan dengan URL)
var test = window.location.port;
makluman(ujian);
Pulangan: aksara null (jika port lalai 80 digunakan (kemas kini: walaupun :80 ditambah), nilai pulangan bukanlah 80 lalai tetapi aksara null)
5. window.location.pathname (tetapkan atau dapatkan bahagian laluan URL (iaitu, alamat fail))
var test = window.location.pathname;
makluman(ujian);
Kembali: /EditPosts.aspx
6 window.location.search (tetapkan atau dapatkan bahagian mengikut tanda soal dalam atribut href)
var test = window.location.search;
makluman(ujian);
Kembali:?opt=1
PS: Untuk mendapatkan bahagian pertanyaan (parameter), selain memberikan nilai pada bahasa dinamik, kami juga boleh menetapkan halaman statik dan menggunakan javascript untuk mendapatkan nilai parameter yang sepadan.
7. window.location.hash (tetapkan atau dapatkan segmen selepas tanda paun "#" dalam atribut href)
var test = window.location.hash;
makluman(ujian);
Kembali: aksara kosong (kerana tiada dalam url)
8. js mendapat nilai parameter dalam url
1. Kaedah keteraturan
function getQueryString(name) { var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i'); var r = window.location.search.substr(1).match(reg); if (r != null) { return unescape(r[2]); } return null; } // 这样调用: alert(GetQueryString("参数名1")); alert(GetQueryString("参数名2")); alert(GetQueryString("参数名3"));
2. kaedah split
function GetRequest() { var url = location.search; //获取url中"?"符后的字串 var theRequest = new Object(); if (url.indexOf("?") != -1) { var str = url.substr(1); strs = str.split("&"); for(var i = 0; i < strs.length; i ++) { theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]); } } return theRequest; } var Request = new Object(); Request = GetRequest();<br>// var id=Request["id"]; // var 参数1,参数2,参数3,参数N; // 参数1 = Request['参数1']; // 参数2 = Request['参数2']; // 参数3 = Request['参数3']; // 参数N = Request['参数N'];
3. Nyatakan untuk diambil
Sebagai contoh, untuk URL: http://i.cnblogs.com/?j=js, jika kita ingin mendapatkan nilai parameter j, kita boleh memanggilnya melalui fungsi berikut.
function GetQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); var r = window.location.search.substr(1).match(reg); //获取url中"?"符后的字符串并正则匹配 var context = ""; if (r != null) context = r[2]; reg = null; r = null; return context == null || context == "" || context == "undefined" ? "" : context; } alert(GetQueryString("j"));
4. Bagaimana untuk mendapatkan satu parameter
function GetRequest() { var url = location.search; //获取url中"?"符后的字串 if (url.indexOf("?") != -1) { //判断是否有参数 var str = url.substr(1); //从第一个字符开始 因为第0个是?号 获取所有除问号的所有符串 strs = str.split("="); //用等号进行分隔 (因为知道只有一个参数 所以直接用等号进分隔 如果有多个参数 要用&号分隔 再用等号进行分隔) alert(strs[1]); //直接弹出第一个参数 (如果有多个参数 还要进行循环的) } }
Di atas adalah keseluruhan kandungan artikel ini, saya harap ia akan membantu semua orang untuk memahami cara mendapatkan maklumat URL halaman semasa.