2013-05-02 77 views
1

我們有一個網站www.domain.com,我們也希望以fr.domain.com,jp.domain.com等其他語言發佈。每個語言子域將是一個單獨管理的網站,它不是一個真正的多語言系統。但是我們希望能夠在頂部有一個共同的代碼塊,可以在不同語言域的同一頁面之間進行鏈接。在javascript中使用域替換的網址

具體來說,我想有語言鏈接沿着頂部像這樣的鏈接:
     法國|日本

現在,假設用戶在英文網站的網頁上www.domain.com/a/b/c.html

我想在上面的語言鏈接自動寫成

<a href='http://fr.domain.com/a/b/c.html'>French</a>| 
<a href='http://jp.domain.com/a/b/c.html'>Japanes</a>| 
...etc... 

這很容易使用服務器端技術,但我需要它是純粹用HTML和/或Javascript完成的東西(即,可以通過richtext插入一小段HTML和/或Javascript內容管理系統的編輯)。

感謝您的任何建議!

+1

哪裏出現了問題,我不明白。你有什麼嘗試? – MMM 2013-05-02 15:07:04

回答

1

獲取當前位置

document.location.href 

注入正確的語言

function makeLink(lang) { 
    return document.location.href.replace(document.location.hostname, lang + "." + document.location.hostname) 
} 

... 

var fr_link = makeLink("fr"); // French link 

使用該字符串爲您的鏈接。

JS小提琴 http://jsfiddle.net/CvBK4/

這是綽綽有餘,爲您制定出休息。

+0

這將做到這一點。謝謝! – royappa 2013-05-03 11:26:19

1

當我得到它的正確,你想改變頁面上的鏈接的href到相同的位置,但不同的主機在URL中。

我想是這樣做在JavaScript

var lang = 'de' 
var list = document.querySelectorAll('a'); 
for (k in list) { 
if (list[k].href!==undefined) { 
    list[k].href = list[k].href.replace(/^(http[s]?:\/\/)([^.]*)(.*)$/,'$1'+lang+'$3'); 
} 
} 
+0

有用知道,但我不想替換頁面上的每一個鏈接。不過謝謝! – royappa 2013-05-03 11:27:00