<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域名后面才加上参数,其他的不加。谢了!!!!

解决方案 »

  1.   

    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"));
            if(url.indexOf('baidu.com')==-1){
                url+="&erl=lo1";
            };
            links[i].onclick=function(){
                this.setAttribute("href",url);
            }
        }
    }
      

  2.   


    出现问题,看下面代码:<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个都是一样的了
      

  3.   

    window.onload=function(){
        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);
            }
        }
    }
      

  4.   


    闭包问题。修正一下吧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);
            }
        }
    }
      

  5.   

    非常感谢crying_boy多次的帮助,对我很有用,谢谢啦!!!