---La restauration du contenu démarre---
1.location.href.....
(1) self.location.href="http://www.cnblogs.com/url"
window.location.href="http://www.cnblogs.com/url" Les deux utilisations ci-dessus sont les mêmes, toutes deux ouvrent la page URL sur la page actuelle
(2) this.location.href="http://www.cnblogs.com/url" La page actuelle ouvre l'URL
(3) parent.location.href="http://www.cnblogs.com/url" Ouvrez une nouvelle page sur la page parent Si le cadre est personnalisé dans la page, vous pouvez changer de parent. self top Pour personnaliser le nom du cadre, l'effet est d'ouvrir l'adresse url dans la fenêtre du cadre
(4) top.location.href="http://www.cnblogs.com/url" Ouvrir une nouvelle page sur la page d'accueil
2. À propos de l'actualisation de la page
(1) window.location.href=http://www.cnblogs.com/nana-share/p/window.location.href
(2) window.location.Reload()
Ils actualisent tous la page actuelle. La différence réside dans la soumission ou non des données. Lorsque les données sont soumises, window.location.Reload() vous demandera si vous devez les soumettre. window.location.href=http://www.cnblogs.com/nana-share/p/window.location.href ; L'url soumet les données
3.
(1) Le premier paragraphe est effectivement utilisé
function getURLParameter(name) {2 3 return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search) || [, ""])[1].replace(/\+/g, '%20')) || null; //构造一个含有目标参数的正则表达式对象4 5 } //获取url中的参数2 function getUrlParam(name) {3 var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象4 var r = window.location.search.substr(1).match(reg); //匹配目标参数5 if (r != null) return unescape(r[2]); return null; //返回参数值6 }
Par exemple, récupérez l'adresse email du lien ci-dessous
http://agent/index.php/Home/Login/getpwd_check_email?code=824790&to=1321136493@qq.com
var mail = getURLParameter('to');
---Fin du contenu de récupération---
Jetons un coup d'oeil au code de l'url de l'opération js
Le code est très simple. L'idée principale est d'analyser les paramètres d'url en objets js, puis il est très pratique d'ajouter, de supprimer, de modifier et de vérifier~, prenez des notes ici.
var LG=(function(lg){ var objURL=function(url){ this.ourl=url||window.location.href; this.href="";//?前面部分 this.params={};//url参数对象 this.jing="";//#及后面部分 this.init(); } //分析url,得到?前面存入this.href,参数解析为this.params对象,#号及后面存入this.jing objURL.prototype.init=function(){ var str=this.ourl; var index=str.indexOf("#"); if(index>0){ this.jing=str.substr(index); str=str.substring(0,index); } index=str.indexOf("?"); if(index>0){ this.href=str.substring(0,index); str=str.substr(index+1); var parts=str.split("&"); for(var i=0;i<parts.length;i++){ var kv=parts[i].split("="); this.params[kv[0]]=kv[1]; } } else{ this.href=this.ourl; this.params={}; } } //只是修改this.params objURL.prototype.set=function(key,val){ this.params[key]=val; } //只是设置this.params objURL.prototype.remove=function(key){ this.params[key]=undefined; } //根据三部分组成操作后的url objURL.prototype.url=function(){ var strurl=this.href; var objps=[];//这里用数组组织,再做join操作 for(var k in this.params){ if(this.params[k]){ objps.push(k+"="+this.params[k]); } } if(objps.length>0){ strurl+="?"+objps.join("&"); } if(this.jing.length>0){ strurl+=this.jing; } return strurl; } //得到参数值 objURL.prototype.get=function(key){ return this.params[key]; } lg.URL=objURL; return lg; }(LG||{}));
LG n'est que mon espace de noms JS commun personnel, rien d'autre. Appel :
var myurl=new LG.URL("http://www.baidu.com?a=1"); myurl.set("b","hello"); //添加了b=hello alert (myurl.url()); myurl.remove("b"); //删除了b alert(myurl.get ("a"));//取参数a的值,这里得到1 myurl.set("a",23); //修改a的值为23 alert (myurl.url());