Xpages 根据访客的ip地址重定向访客(客户端)

Xpages 根据访客的ip地址重定向访客(客户端),xpages,Xpages,我想重定向我的Xpage的访问者,这取决于他的ip地址所在的国家。 因此,当访客来自法国时,他应该被重定向到france.xsp、Germany到Germany.xsp等。 我认为这应该是可能的: 我不知道如何实现它,或者也许有人有更好的解决方案 编辑: 因为这个页面已经加载了Jquery,所以我从Alexandro那里得到了解决方案,我把它放在了on client load事件中 您可以在执行JSON请求,并且可以使用返回的数据,例如,使用jQuery在客户端执行该请求: jQuery.get

我想重定向我的Xpage的访问者,这取决于他的ip地址所在的国家。 因此,当访客来自法国时,他应该被重定向到france.xsp、Germany到Germany.xsp等。 我认为这应该是可能的:

我不知道如何实现它,或者也许有人有更好的解决方案

编辑:
因为这个页面已经加载了Jquery,所以我从Alexandro那里得到了解决方案,我把它放在了on client load事件中

您可以在执行JSON请求,并且可以使用返回的数据,例如,使用jQuery在客户端执行该请求:

jQuery.getJSON('http://freegeoip.net/json/', function(location) {
  // If the visitor is browsing from Canada.
  if (location.country_code == 'CA') {
    // Redirect him to the canadian store.
    window.location.href = 'http://shop-in-canada.com';
  }
});
有关getJSON方法的更多信息:


希望有帮助:)

有一个免费的网站可以做到这一点

您可以在执行JSON请求,并且可以使用返回的数据,例如,使用jQuery在客户端执行该请求:

jQuery.getJSON('http://freegeoip.net/json/', function(location) {
  // If the visitor is browsing from Canada.
  if (location.country_code == 'CA') {
    // Redirect him to the canadian store.
    window.location.href = 'http://shop-in-canada.com';
  }
});
有关getJSON方法的更多信息:


希望有帮助:)

Alesanco答案中的网站是一个很好的资源,但是如果您不想使用jQuery库来实现这一点,下面介绍如何在Dojo中实现这一点,而无需向XPage添加任何其他内容

require(['dojo/_base/xhr'], function(xhr){
  xhr.get({
    url:"http://freegeoip.net/json/", handleAs:"json",
    load: function(data){
      // data is a JavaScript object. The content of foo.php
      // was passed through dojo.fromJson
      alert(data.country_code); //Returns the country code. Use this to drive your logic.
    }
  });
});

Alesanco的答案中的网站是一个很好的资源,但是如果您想在不使用jQuery库的情况下实现这一点,下面介绍如何在Dojo中实现这一点,而无需向XPage添加任何其他内容

require(['dojo/_base/xhr'], function(xhr){
  xhr.get({
    url:"http://freegeoip.net/json/", handleAs:"json",
    load: function(data){
      // data is a JavaScript object. The content of foo.php
      // was passed through dojo.fromJson
      alert(data.country_code); //Returns the country code. Use this to drive your logic.
    }
  });
});
如果您使用的是Domino 9(在Domino前面安装了IBM Http Server),或者在Domino前面使用的是Apache或Nginx等Web服务器,则可以使用以下模块:

  • -Apache 2 GeoIP模块
  • -Nginx GeoIP模块
通过这种方式,您将不依赖于硬编码检查

如果您使用的是Domino 9(在Domino前面安装了IBM Http Server),或者如果您在Domino前面使用的是Apache或Nginx等Web服务器,则可以使用以下模块:

  • -Apache 2 GeoIP模块
  • -Nginx GeoIP模块

这样,您就不会依赖于硬编码检查了

我已经为这个页面加载了Jquery,所以我使用了这个很好的解决方案。我已经把它放在on client load事件中。谢谢我已经为这个页面加载了Jquery,所以我使用了这个很好的解决方案。我已经把它放在on client load事件中。谢谢