我想根据他的 IP 地址所在的国家/地区重定向我的 Xpage 的访问者。因此,当访问者来自法国时,他应该被重定向到 france.xsp,德国到 German.xsp 等。我认为这应该是可能的:Geo ip API
我不知道如何实现它,或者也许有人对此有更好的解决方案?
编辑:由于这个页面已经加载了 Jquery,我从 Alexandro 那里得到了解决方案,我把它放在了客户端加载事件中
我想根据他的 IP 地址所在的国家/地区重定向我的 Xpage 的访问者。因此,当访问者来自法国时,他应该被重定向到 france.xsp,德国到 German.xsp 等。我认为这应该是可能的:Geo ip API
我不知道如何实现它,或者也许有人对此有更好的解决方案?
编辑:由于这个页面已经加载了 Jquery,我从 Alexandro 那里得到了解决方案,我把它放在了客户端加载事件中
有一个免费的网站可以做到这一点, 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/
希望能帮助到你 :)
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 服务器,则可以使用以下模块:
这样您就不会依赖硬编码支票