1

我使用两个数据库创建了一个双语网站:

www.martyregan.com/ www.martyregan.com/jp/

您可以使用“网站语言”标志选择网站的语言,但目前这些链接只会将您带到主页。两个站点上的路径/URL 完全相同,除了日本站点上的 /jp/ 目录。

我正在寻找一种方法来根据访问者当前所在页面的 URL 更改超链接以转到并行页面。我认为路径相同会很简单,但我不太确定从哪里开始,因为我对 jquery 的了解很少。

4

2 回答 2

1

这假设您的语言可以访问,如下所示。为方便起见,从 URL 中删除了“http://”。

$(function(){
    var lang = 'jp';

    $('a').attr('href', function(x, url){
        var split = url.replace(/(http:)?(\/\/)?/, '').split('/');
        return split.shift() + '/' + lang + '/' + split.join('/');
    });
});
于 2013-02-25T03:42:21.673 回答
0

<base>根据您需要支持的浏览器,您可能可以不使用标签。您可以通过从服务器获取它来将其设置为任何基础。

如果你想使用 jQuery 来做,如果你所有的hrefs 都是绝对的,那应该是相当简单的:

$("a").attr('href', function (_, href) {
    return $("base").attr('href') + href;
});

这假设您正在使用<base>. 如果不是,您可以从 获取路径window.location.path,甚至可以获取页面上的其他元素。

<base>如果您感到困惑,仅当 JavaScript不足以独立工作时才需要

于 2013-02-25T03:18:29.677 回答