我創建使用兩個數據庫雙語網站:創建超級鏈接基於當前URL
www.martyregan.com/ www.martyregan.com/jp/
您可以選擇使用網站的語言'網站語言'的標誌,但目前的鏈接只能讓你進入主頁。這兩個網站上的路徑/ URL完全相同,而不是日文站點上的/ jp /目錄。
我正在尋找一種方法來根據訪問者當前所在頁面的URL來更改超級鏈接以轉到並行頁面。我認爲這很簡單,因爲路徑是相同的,但不確定從jquery的一些知識開始。
我創建使用兩個數據庫雙語網站:創建超級鏈接基於當前URL
www.martyregan.com/ www.martyregan.com/jp/
您可以選擇使用網站的語言'網站語言'的標誌,但目前的鏈接只能讓你進入主頁。這兩個網站上的路徑/ URL完全相同,而不是日文站點上的/ jp /目錄。
我正在尋找一種方法來根據訪問者當前所在頁面的URL來更改超級鏈接以轉到並行頁面。我認爲這很簡單,因爲路徑是相同的,但不確定從jquery的一些知識開始。
這裏假設你的語言是可訪問的,如下圖所示。 爲方便起見,將從URL中刪除「http://」。
$(function(){
var lang = 'jp';
$('a').attr('href', function(x, url){
var split = url.replace(/(http:)?(\/\/)?/, '').split('/');
return split.shift() + '/' + lang + '/' + split.join('/');
});
});
根據需要支持的瀏覽器,您可能無法使用<base>
標籤。您可以通過從服務器上獲取它來將其設置爲任何基礎。
如果你想使用jQuery來做到這一點,它應該是相當簡單的,如果所有的href
S的是絕對的:
$("a").attr('href', function (_, href) {
return $("base").attr('href') + href;
});
這是假設你正在使用<base>
。如果你不是,你可以從window.location.path
,甚至頁面上的其他元素獲得路徑。
如果你感到困惑時,JavaScript只需要如果<base>
是不夠的,在工作自身的
嗯謝謝!我怎樣才能告訴它只應用網站語言容器中的兩個超鏈接? – 2013-02-25 03:41:01
@JosephThomas如果它只適用於*兩個*鏈接,則不要使用'
我在哪裏可以使用window.location.path? – 2013-02-25 04:26:26
的某個元素中的所有元素都存儲起來,這意味着
標籤? – 2013-02-25 03:50:42是的,您可以在「
」標記內放置「var lang ='jp'」。這整段代碼可以放在標籤中。 – slamborne 2013-02-25 03:55:21我真的很希望我知道如何改變客戶CMS,Concrete5上的該死標籤。謝謝,讓我看看我能否把它關掉。我應該把英文網站的頭部也設置爲en,對吧? – 2013-02-25 04:02:24