IP アドレスの国に応じて、Xpage の訪問者をリダイレクトしたいと考えています。したがって、訪問者がフランスから来た場合、 france.xsp 、ドイツから germany.xsp などにリダイレクトする必要があります。
私はそれを実装する方法がわかりません、または誰かがこれに対するより良い解決策を持っていますか?
編集:このページはすでに Jquery をロードしているので、私は Alexandro からソリューションを取得し、それを on client load イベントに入れました
これを行うための無料の Web サイト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 の回答の Web サイトはすばらしいリソースですが、jQuery ライブラリを使用せずにこれを行う場合は、XPage に他に何も追加せずに Dojo で行う方法を次に示します。
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 サーバーがインストールされている) を使用している場合、または Domino の前に Apache や Nginx などの Web サーバーを使用している場合は、次のようなモジュールを使用できます。
このようにして、チェックのハードコーディングに依存しません