我需要创建一个javascript函数来查找并替换我网站上的所有出站链接。它需要执行以下操作:
在网址中查找不包含“mysite.com”的所有网址,例如指向anothersite.com的出站链接
将网址替换为http://mysite.com/?redirect=anothersite.com
这听起来相对简单......但我遇到了问题。
提前致谢!
以下是我目前为止更新网址(有效)的更新:
<script type="text/javascript">
onload = function () {
for (var i = 0; i < document.links.length; i++) document.links[i].href = 'http://www.mysite.com/redirect.php?' + document.links[i].href
}
</script>
我尝试了几种不同的方法来使用IF语句来定位出站URL,但无济于事。
<script type="text/javascript">
onload = function () {
for (var i = 0; i < document.links.length; i++) {
if (document.links[i].href.indexOf("http://www.mysite.com") == -1) {
document.links[i].href = 'http://www.mysite.com/redirect.php?' + document.links[i].href
}
}
}
</script>
答案 0 :(得分:0)
尝试这样的事情:
$('a').filter(function() { return this.hostname && this.hostname !== location.hostname; }).each(function(){
$(this).attr("href","http://www.mysite.com?redirect="+$(this).attr("href"));
});
答案 1 :(得分:0)
不确定这会有多大帮助,但这是如何跟踪Google Analytics的出站链接,我相信如果您相应地修改它,它应该适用于您的目的:
<script type=”text/javascript”>
if (document.getElementsByTagName) {
var ahrefs = document.getElementsByTagName(‘a’);
for (var i=0; i<ahrefs.length;i++) {
if (ahrefs[i].href.indexOf(‘http://www.jhuskisson.com‘) == -1 && !ahrefs[i].onclick) {
ahrefs[i].onclick = function () { var track = this.href + ”; urchinTracker (‘/outgoing/’+track.substring(7)); }
}
}
}
</script>
答案 2 :(得分:0)
var my_links = document.getElementsByTagName("a");
for (var i=0;i<my_links.length;i++){
if(my_links[i].href == <my site>){
my_links[i].href = location.replace(<whatever>);
}
}
使用它(应该没问题,没试过,我不确定my_links [i] .href = location ...)并把它放在document.ready函数中!
答案 3 :(得分:0)
你可以用jQuery做到这一点。
$('a').filter(function(){
if($(this).attr('href') != "http://www.mysite.com"){
$(this).attr('href', 'http://mysite.com/?redirect=' +
$(this).attr('href'));
}
});