1

我想根据他的 IP 地址所在的国家/地区重定向我的 Xpage 的访问者。因此,当访问者来自法国时,他应该被重定向到 france.xsp,德国到 German.xsp 等。我认为这应该是可能的:Geo ip API

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

编辑:由于这个页面已经加载了 Jquery,我从 Alexandro 那里得到了解决方案,我把它放在了客户端加载事件中

4

3 回答 3

4

有一个免费的网站可以做到这一点, http: //freegeoip.net/

您可以在http://freegeoip.net/json/上执行 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 方法的更多信息:http: //api.jquery.com/jQuery.getJSON/

希望能帮助到你 :)

于 2013-10-24T10:16:23.943 回答
2

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.
    }
  });
});
于 2013-10-24T11:13:25.633 回答
0

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

这样您就不会依赖硬编码支票

于 2013-10-24T12:05:31.070 回答