1

我们有一个网站 www.domain.com,我们还想以其他语言发布,例如 fr.domain.com、jp.domain.com 等。每个语言子域都是一个单独管理的站点,这不是真的多语言系统。但是我们希望能够在顶部有一个共同的代码块,它可以链接不同语言域的同一页面。

具体来说,我想在顶部有一个语言链接的链接,如下所示:
    French | 日本人

现在,假设用户在页面 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 完成(即一小块 HTML 和/或 Javascript,可以通过内容管理的富文本编辑器插入系统)。

感谢您的任何建议!

4

2 回答 2

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/

这足以让您解决剩下的问题。

于 2013-05-02T15:12:16.150 回答
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');
 }
}
于 2013-05-02T15:16:52.570 回答