2014-02-19 43 views
0

我想添加一個前綴上的所有網站的href鏈接,例-i要添加一個前綴 - xyz.com/url?在所有鏈接上 - 假設href鏈接的網址是 - fpqr.com。添加該前綴後顯示 - http://www.xyz.com/url?http://www.fpqr.com我想添加一個前綴上的所有網站的href鏈接

+0

注attr'和'prop'之間'的區別。隨着'attr'你會從環節得到原來'href'值,在情況相對鏈接而用'prop'你會得到的值「最終」的鏈接會。請務必根據您的需要選擇合適的 – fejese

+0

原本是否有更多這個問題?下面的人似乎知道你在說什麼,但目前還不清楚,它完全沒有價值。 Java和JavaScript是兩種完全不同的語言。你實際使用哪個?這兩個域(xyz或fpqr)中的哪一個是你的?您是否想要替換客戶端的鏈接,例如在瀏覽器中打開的頁面或字符串中的HTML中?或者在服務器端,在生成HTML時,或者在請求時重定向鏈接?或者你正在搜索和替換磁盤上的文件?或者寫一個代理來劫持線路上的鏈接? – Boann

回答

0

此類網址重寫應僅在Web服務器級別處理。

這裏是你必須內的httpd.conf做,如果你的Web服務器是Apache的東西。

RewriteCond %{HTTP_HOST} !^www\.fpqr\.com [NC] 
RewriteCond %{HTTP_HOST} !^$ 
RewriteCond %{SERVER_PORT} !^80$ 
RewriteRule ^/(.*)   http://www.xyz.com/url/%{HTTP_HOST} [L,R] 
0
var prefix = 'prefix'; 
$('a').attr('href', prefix +$('a').attr('href')); 

希望這有助於一點點。

1

使用jQuery這樣的事情應該做的伎倆:

$('a').each(function() { 
    $(this).prop('href', 'http://prefix.com/?x=' + $(this).prop('href')) 
}); 
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

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會改變鏈接的錨點,可能不是你想要做的。

相關問題