重定向访问者的IP地址功能(客户端)

时间:2013-10-24 08:56:04

标签: xpages

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

我不知道如何实现它,或者有人可以为此提供更好的解决方案?

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

3 个答案:

答案 0 :(得分: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/

希望有所帮助:)

答案 1 :(得分: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.
    }
  });
});

答案 2 :(得分:0)

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

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