<script type="text/javascript">
function replaceUrl(a){
var re=/(www.googo.com|forum.csdn.net)(\S*)(\?)/g;
return a.replace(re,"www.baidu.com$2$3");
}
window.onload=function(){
var links=document.links;
for(i=0;i<links.length;i++){
var url=replaceUrl(links[i].getAttribute("href"));
links[i].setAttribute("href",url)
}
}
</script>
这段js是改变文本中url域名,很好用,但是因为是明改,对于会员体验度不好,希望可以改为点击后在改变域名,例如:http://forum.csdn.net/Post.aspx?ID=467d91e3,
使用以上js其在文本中直接体现改变后的结果http://www.baidu.com/Post.aspx?ID=467d91e3
希望改为点击后在改变此url。
万分感谢!!!
另外:下面这句js是在url后面加上参数 for(var i=0;i<a.length;i++) a[i].href = a[i].href.indexOf('baidu.com')!=-1? a[i].href:a[i].href+"&erl=lo1";
以上是在baidu.com以外所有url后面加上参数,想改的是指定baidu.com域名后面才加上参数,其他的不加。谢了!!!!
var re=/(www.googo.com|forum.csdn.net)(\S*)(\?)/g;
return a.replace(re,"www.baidu.com$2$3");
}
window.onload=function(){
var links=document.links;
for(i=0;i<links.length;i++){
var url=replaceUrl(links[i].getAttribute("href"));
if(url.indexOf('baidu.com')==-1){
url+="&erl=lo1";
};
links[i].onclick=function(){
this.setAttribute("href",url);
}
}
}
出现问题,看下面代码:<script type="text/javascript">
function replaceUrl(a){
var re=/(www.sogou.com|forum.csdn.net)(\S*)(\?)/g;
return a.replace(re,"www.baidu.com$2$3");
}
window.onload=function(){
var links=document.links;
for(i=0;i<links.length;i++){
var url=replaceUrl(links[i].getAttribute("href"));
if(url.indexOf('baidu.com')==-1){
url+="&erl=lo1";
};
links[i].onclick=function(){
this.setAttribute("href",url);
}
}
}</script>
<div ><ul>
<li><a href='http://forum.csdn.net/s?ie=utf-8&bs=%E7%9C%8B%E7%9C%8B&f=8&rsv_bp=1&wd=%E5%AD%A6%E4%B9%A0js' target="_blank">http://forum.csdn.net/s?ie=utf-8&bs=%E7%9C%8B%E7%9C%8B&f=8&rsv_bp=1&wd=%E5%AD%A6%E4%B9%A0js</a> </li>
<li><a href='http://www.sogou.com/s?tn=baiduerr&ie=utf-8&bs=%E7%9C%8B%E7%9C%8B' target="_blank">http://www.sogou.com/s?tn=baiduerr&ie=utf-8&bs=%E7%9C%8B%E7%9C%8B</a> </li>
<li><a href='http://www.sogou.com/s?wd=%BF%B4%BF%B4&cl=3&tn=baiduerr' target="_blank">http://www.sogou.com/s?wd=%BF%B4%BF%B4&cl=3&tn=baiduerr</a> </li></ul> </div>
运行点击超链接后结果是这样的:
http://www.baidu.com/s?wd=%BF%B4%BF%B4&cl=3&tn=baiduerr
http://www.baidu.com/s?wd=%BF%B4%BF%B4&cl=3&tn=baiduerr
http://www.baidu.com/s?wd=%BF%B4%BF%B4&cl=3&tn=baiduerr
3个都是一样的了
var links=document.links;
for(i=0;i<links.length;i++){
if(url.indexOf('baidu.com')==-1){
url+="&erl=lo1";
};
links[i].onclick=function(){
var url=replaceUrl(this.getAttribute("href"));
this.setAttribute("href",url);
}
}
}
闭包问题。修正一下吧window.onload=function(){
var links=document.links;
for(i=0;i<links.length;i++){
var url=replaceUrl(links[i].getAttribute("href"));
////下面这句,按你自己的需要,放在适当的位置
if(url.indexOf('baidu.com')==-1){
url+="&erl=lo1";
};
links[i]["url"]=url;
links[i].onclick=function(){
this.setAttribute("href",this.url);
}
}
}