我想在所有网站href链接上添加前缀

时间:2014-02-19 20:07:14

标签: java javascript

我想在所有网站上添加前缀href链接例如-i想要添加前缀 - xyz.com/url?在所有链接上 - 假设一个href链接是网址是 - fpqr.com。添加该显示的前缀 - http://www.xyz.com/url?http://www.fpqr.com

5 个答案:

答案 0 :(得分:3)

我写了这段代码:

var prefix = "http://www.xyz.com/url?";
$('a').each(function(){
    var currentHref = $(this).attr('href');
    $(this).attr('href',prefix+currentHref);
});

http://jsfiddle.net/joeSaad/zLSx3/#base

答案 1 :(得分:1)

使用jQuery之类的东西可以解决问题:

$('a').each(function() {
  $(this).prop('href', 'http://prefix.com/?x=' + $(this).prop('href'))
});

答案 2 :(得分:0)

此类网址重写应仅在网络服务器级别处理。

如果您的Web服务器是apache,那么您需要在httpd.conf中执行此操作。

RewriteCond %{HTTP_HOST}   !^www\.fpqr\.com [NC]
RewriteCond %{HTTP_HOST}   !^$
RewriteCond %{SERVER_PORT} !^80$
RewriteRule ^/(.*)         http://www.xyz.com/url/%{HTTP_HOST} [L,R]

答案 3 :(得分:0)

 var prefix = 'prefix';
 $('a').attr('href', prefix +$('a').attr('href'));

希望这有点帮助。

答案 4 :(得分:0)

有一个(实时)链接集合,其中包含页面中的所有链接,因此您可以轻松访问页面中的所有链接并修改其href,如:

var links = document.links;
for (var i=0, iLen=links.length; i<iLen; i++) {
  // use of \/\/ is to avoid SO posting rules
  links[i].href = 'http:\/\/xyz.com/url?' + links[i].href;
}

请注意,并非所有A元素都是链接,它们可以是锚点(即具有名称或ID而不具有href属性)。添加href会将锚点更改为链接,也可能不是您想要做的事情。