javascript - 如何根据地区自动重定向网站?

标签 javascript html css

我正在创建一个网站,现在我在其中添加了 2 种语言(英语和德语)。

现在我希望每当我的网站从德国或任何德国用户打开时,它都应该打开这个网站(https://splitscreenapp.com/de/)

只要它被除德语以外的任何其他用户打开,它就应该打开这个网站(https://splitscreenapp.com)

下面是一个网站的一个实例 ( https://neilpatel.com ) 当我使用 VPN 打开这个网站并连接到德国时,这个网站会自动打开,当我切换到任何其他位置时,它会以英语打开。

这不是一个重复的问题,我不想从我的浏览器更改语言设置,它应该根据地区自动重定向。

我试过实现这段代码

<html lang="de-DE">
    <head>
         <link rel="alternate" hreflang="en" href="https://splitscreenapp.com" />
        <link rel="alternate" hreflang="de" href="https://splitscreenapp.com/de" />

        <link rel="canonical" href="https://splitscreenapp.com/de" />

        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

最佳答案

您可以使用 jquery 和 ipapi 获取位置.然后基于它你可以重定向。

  function ipLookUp () {
  $.ajax('https://ipapi.co/json/')
  .then(
      function success(response) {
          if(response.country_name=='Germany')
          $(location).attr('href', 'https://splitscreenapp.com/de/');
      },

      function fail(data, status) {
          console.log('Request failed.  Returned status of',
                      status);
      }
    );
  }
  ipLookUp()

编辑:较早的 api 可能会出现问题,因为它不是 HTTPS。此 API 将发送 HTTPS 请求。

关于javascript - 如何根据地区自动重定向网站?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57621950/

相关文章:

javascript - 将 promise 置于待处理状态

javascript - HTML 表单中的元素在 Javascript 中未定义

html - 如果屏幕宽度低于指定数量,如何响应地修剪 div 的左侧和右侧?

php - 是否可以从 HTML5 的本地存储中提取数据并保存到服务器数据库?

javascript - 元素必须可见才能使 "load"事件监听器正常工作吗?

php - javascript错误地确定了夏令时线(2006年的示例)

html - 使 flex 部分和一般部分宽度相同

javascript - 使用 HTML 5 Canvas 自动滚动

html - 如何修复意外的背景溢出

javascript - 通过 JS 或 CSS 的浏览器历史记录