首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

看看这js代码,帮忙改一上

2012-10-30 
看看这js代码,帮忙改一下JScript codescript typetext/javascriptfunction replaceUrl(a){var re/(w

看看这js代码,帮忙改一下

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

谢了!!!!

[解决办法]

闭包问题。修正一下吧

JScript code
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);        }    }} 

热点排行