使用JavaScript替換和修改網(wǎng)頁鏈接
有時候我們會需要修改當(dāng)前頁面里的url中的某個參數(shù)的值,動態(tài)地調(diào)整一些參數(shù)的數(shù)據(jù),既人性化又利于搜索引擎的優(yōu)化。下面是利用javascript修改url中某個參數(shù)的值的具體思路。
/*
* url 目標(biāo)url
* arg 需要替換的參數(shù)名稱
* arg_val 替換后的參數(shù)的值
* return url 參數(shù)替換后的url
*/
function changeURLArg(url,arg,arg_val){
var pattern=arg+'=([^&]*)';
var replaceText=arg+'='+arg_val;
if(url.match(pattern)){
var tmp='/('+ arg+'=)([^&]*)/gi';
tmp=url.replace(eval(tmp),replaceText);
return tmp;
}else{
if(url.match('[\?]')){
return url+'&'+replaceText;
}else{
return url+'?'+replaceText;
}
}
return url+'\n'+arg+'\n'+arg_val;
}
使用方法如下:
changeURLArg('https://www.williamlong.info/?max-results=20&id=2','max-results',100);
下面是上述功能的一個應(yīng)用,在Google Blogger里,默認(rèn)的標(biāo)簽顯示數(shù)目是20個,我們通過JavaScript可以將標(biāo)簽顯示數(shù)目修改為100個。具體的修改方法如下,打開Blogger的后臺,點“布局”,增加一個“ HTML/Javascript”的 Sidebar Widget,其代碼如下:
<script type="text/javascript">
function changeURLArg(url,arg,arg_val){
var pattern=arg+'=([^&]*)';
var replaceText=arg+'='+arg_val;
if(url.match(pattern)){
var tmp='/('+ arg+'=)([^&]*)/gi';
tmp=url.replace(eval(tmp),replaceText);
return tmp;
}else{
if(url.match('[\?]')){
return url+'&'+replaceText;
}else{
return url+'?'+replaceText;
}
}
return url+'\n'+arg+'\n'+arg_val;
}
document.getElementById("Blog1_blog-pager-older-link").href = changeURLArg(document.getElementById("Blog1_blog-pager-older-link").href,"max-results",100) ;
</script>
之后保存即可。
來源:月光博客