Cara mendapatkan maklumat URL halaman semasa dengan tepat dalam kemahiran js_javascript

WBOY
Lepaskan: 2016-05-16 15:05:06
asal
2104 orang telah melayarinya

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"));
Salin selepas log masuk

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'];
Salin selepas log masuk

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中"&#63;"符后的字符串并正则匹配
  var context = ""; 
  if (r != null) 
     context = r[2]; 
  reg = null; 
  r = null; 
  return context == null || context == "" || context == "undefined" &#63; "" : context; 
}
alert(GetQueryString("j"));
Salin selepas log masuk

4. Bagaimana untuk mendapatkan satu parameter

function GetRequest() {
  var url = location.search; //获取url中"&#63;"符后的字串
  if (url.indexOf("&#63;") != -1) {  //判断是否有参数
   var str = url.substr(1); //从第一个字符开始 因为第0个是&#63;号 获取所有除问号的所有符串
   strs = str.split("=");  //用等号进行分隔 (因为知道只有一个参数 所以直接用等号进分隔 如果有多个参数 要用&号分隔 再用等号进行分隔)
   alert(strs[1]);     //直接弹出第一个参数 (如果有多个参数 还要进行循环的)
  }
}
Salin selepas log masuk

Di atas adalah keseluruhan kandungan artikel ini, saya harap ia akan membantu semua orang untuk memahami cara mendapatkan maklumat URL halaman semasa.

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!