You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用jQuery切换页面语言URL失败,寻求解决方案

解决jQuery语言URL切换问题

看起来你现在的代码是直接跳转到语言首页,而不是当前页面的对应语言版本对吧?咱们来一步步修正这个问题:

问题分析

你的现有代码里,data-wpurl存储的是语言首页的地址(比如/en_Us/),点击后会直接跳转到首页,而不是当前页面(比如/de_DE/about-us/)对应的/en_Us/about-us/。另外代码里的wpurl变量也没有定义,这也是导致失效的原因之一。

修正方案

我们需要基于当前页面URL来替换语言代码,而不是直接跳转到首页。

1. 修改HTML结构

给每个语言链接添加data-lang属性,用来存储目标语言代码:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="sidebar_lang">
  <span>Language:</span>
  <div class="lang_option">
    <a href="#" data-lang="de_DE" class="lang_txt" rel="group">DE</a>
    <a href="#" data-lang="en_Us" class="lang_txt" rel="group">EN</a>
  </div>
</div>

2. 编写jQuery逻辑

点击语言链接时,获取当前页面URL,替换其中的语言代码部分,然后跳转:

$('a[rel="group"]').on('click', function(e) {
  e.preventDefault();
  // 获取目标语言代码
  const targetLang = $(this).data('lang');
  // 获取当前页面URL
  let currentUrl = window.location.href;
  
  // 替换URL中的语言代码部分:匹配 /xx_XX/ 格式的片段
  // 这里假设语言代码总是在域名后的第一个路径段
  const newUrl = currentUrl.replace(/\/[a-z]{2}_[A-Z]{2}\//, `/${targetLang}/`);
  
  // 跳转到新URL
  window.location.href = newUrl;
});

额外说明

  • 如果你的语言代码格式不是xx_XX,可以调整正则表达式来匹配,比如如果是xx-XX就改成/\/[a-z]{2}-[A-Z]{2}\//。
  • 这段代码会自动识别当前页面的语言路径,替换成目标语言,不管你在哪个页面(比如about-us、contact等)都能正确跳转。

这样修改后,当你在https://beta.yourtaxi.ch/de_DE/about-us/页面点击EN链接,就会自动跳转到https://beta.yourtaxi.ch/en_Us/about-us/啦!

内容的提问来源于stack exchange,提问作者priyapatel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:37:07