Maison > interface Web > js tutoriel > Comment obtenir avec précision les informations URL de la page actuelle dans les compétences js_javascript

Comment obtenir avec précision les informations URL de la page actuelle dans les compétences js_javascript

WBOY
Libérer: 2016-05-16 15:05:06
original
2126 Les gens l'ont consulté

Dans le développement WEB, javascript est souvent utilisé pour obtenir les informations URL de la page actuelle. Voici mon résumé de l'obtention des informations URL.

Prenons un exemple d'URL et récupérons ses différents composants : http://i.cnblogs.com/EditPosts.aspx?opt=1

1. window.location.href (définir ou obtenir l'URL entière sous forme de chaîne)

var test = window.location.href;
alerte(test);
Retour : http://i.cnblogs.com/EditPosts.aspx?opt=1

2. window.location.protocol (définir ou obtenir la partie protocole de l'URL)

var test = window.location.protocol;
alerte(test);
Retour : http:

3. window.location.host (définir ou obtenir la partie hôte de l'URL)

var test = window.location.host;
alerte(test);
Retour : i.cnblogs.com

4. window.location.port (définir ou obtenir le numéro de port associé à l'URL)

var test = window.location.port;
alerte(test);
Retour : caractère nul (si le port par défaut 80 est utilisé (mise à jour : même si :80 est ajouté), la valeur de retour n'est pas le 80 par défaut mais le caractère nul)

5. window.location.pathname (définir ou obtenir la partie chemin de l'URL (c'est-à-dire l'adresse du fichier))
var test = window.location.pathname;
alerte(test);
Retour : /EditPosts.aspx

6. window.location.search (définir ou obtenir la partie qui suit le point d'interrogation dans l'attribut href)

var test = window.location.search;
alerte(test);
Retour :?opt=1

PS : Pour obtenir la partie requête (paramètre), en plus d'attribuer des valeurs aux langages dynamiques, on peut également attribuer des pages statiques et utiliser javascript pour obtenir les valeurs des paramètres correspondantes.

7. window.location.hash (définir ou obtenir le segment après le signe dièse "#" dans l'attribut href)

var test = window.location.hash;
alerte(test);
Retour : caractère vide (car il n'y en a pas dans l'url)

8. js obtient la valeur du paramètre dans l'url

1. Méthode de régularité

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"));
Copier après la connexion

2. méthode de fractionnement

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'];
Copier après la connexion

3. Précisez pour récupérer

Par exemple, pour une url : http://i.cnblogs.com/?j=js, si on veut obtenir la valeur du paramètre j, on peut l'appeler via la fonction suivante.

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"));
Copier après la connexion

4. Comment obtenir un seul paramètre

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]);     //直接弹出第一个参数 (如果有多个参数 还要进行循环的)
  }
}
Copier après la connexion

Ce qui précède représente l'intégralité du contenu de cet article. J'espère qu'il sera utile à tout le monde de comprendre comment obtenir les informations URL de la page actuelle.

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal