我使用两个数据库创建了一个双语网站:
www.martyregan.com/ www.martyregan.com/jp/
您可以使用“网站语言”标志选择网站的语言,但目前这些链接只会将您带到主页。两个站点上的路径/URL 完全相同,除了日本站点上的 /jp/ 目录。
我正在寻找一种方法来根据访问者当前所在页面的 URL 更改超链接以转到并行页面。我认为路径相同会很简单,但我不太确定从哪里开始,因为我对 jquery 的了解很少。
我使用两个数据库创建了一个双语网站:
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
,甚至可以获取页面上的其他元素。
<base>
如果您感到困惑,仅当 JavaScript不足以独立工作时才需要