0

私はなんとかウェブサイトを訪問している人の国を取得することができました:

<script type='text/javascript'>
$(window).load(function(){
$.getJSON('http://api.wipmania.com/jsonp?callback=?', function (data) {
  $("#hello").html(
        'Country: ' + data.address.country);
});
});
</script>

<p id="hello"></p>

今私が苦労しているのは、基本的なリンクがあることです

<a href="http://www.google.com" id="global">Google</a>

場所に基づいてURLの拡張子を変更したい例:

if data.address.country = Australia change "www.google.com" to "www.google.com.au"
or if data.address.country = New Zealand change "www.google.com" to "www.google.co.nz"
or if data.address.country = Any thing else leave it as is "www.google.com"

私はそれが実際のコードではないことを知っていますが、うまくいけば、私がどこから来たのかを知っているので十分に明確です。将来、他の場所を追加できるように、コードを汎用的にする可能性があります。

4

3 に答える 3

0

マッピングを作成できます。

var country_map = {
    'Australia': 'google.com.au',
    'New Zealand': 'google.co.nz'
    'Russia': 'google.ru'
};

var country = data.address.country;

if (country in country_map) {
    link.href = link.href.replace('google.com', country_map[country];
}

Google.comはユーザーの適切な国にリダイレクトするので、最初からリンクに実際に触れることはしません。

于 2013-03-25T23:51:44.767 に答える
0

href属性を動的に変更してみてください

    $.getJSON('http://api.wipmania.com/jsonp?callback=?', function (data) {
      $("#hello").html(
         'Country: ' + data.address.country);
      });
      $('#global').attr('href', map[data.address.country])
    });

次に、コードのどこかに、次のようなマップを記述します

   var map = {
          'Australia': 'google.au',
          'India' : 'google.in'            

         }
于 2013-03-25T23:51:53.283 に答える
0

まず、各国をそれぞれのURLにマッピングする必要があります。オブジェクトのキーとして、AJAX呼び出しによって返された正確な値を使用する必要があります。

var country = data.address.country;
var urls = {
  'Australia':'www.google.com.au',
  'New Zealand':'www.google.co.nz',
  ...
}

次に、一致しない国のデフォルト値を設定し、一致する国がある場合は、GoogleのURLを一致する値に置き換えます。

var googleUrl = 'www.google.com';
if (urls[country]){
  googleUrl = urls[country];
}

最後に、適切なURLを選択したら、 jQueryの関数hrefを使用してプロパティを変更できます。prop()

$("#global").prop('href',googleUrl);

簡単な例

于 2013-03-25T23:52:06.623 に答える