0

国に基づいてアンカー タグの URL を変更する方法を探しています。国を検出するために maxmind の geoip2 JavaScript サービスを使用しています。

クリックで URL を変更することを考えていたので、不要な maxmind の呼び出しを行わないようにしました。これは良い考えですか、それとももっと良い方法がありますか?

以下は、これまでに取得したコードですが、機能していません。

var theAnchor = document.getElementsByClassName('geotarget');

theAnchor.onclick = function () {
  var country = geoipResponse.country.iso_code;
  var linkUK = "<?php the_field('link_uk'); ?>";
  var linknUS = "<?php the_field('link_us'); ?>";
  if ( country == "GB" ){
    window.open(linkUK);
  } else {
   window.open(linkUS);
  }
};

HTML:

<a href="" class="geotarget">
   <img class="img-responsive" src="<?php the_field('image'); ?>" alt="" />
</a>
4

1 に答える 1

0

ページの読み込み時に URL を置き換えて、中クリックして新しいタブで開くことができるようにします。リンクのクリックイベントはいつも私を悩ませます。

geoip2 サービスへの呼び出しの量を減らしたいので、一度ヒットしてからサーバー上のセッションに結果をキャッシュできます。

このようなもの:

$(function () {
  var country = "<?php COUNTRY_CODE ?>";
  if(!country)
  {
    country = geoipResponse.country.iso_code;
  }

  var linkUK = "<?php the_field('link_uk'); ?>";
  var linknUS = "<?php the_field('link_us'); ?>";
  if ( country == "GB" ){
    $('.geotarget').attr("href", linkUK)
  } else {
    $('.geotarget').attr("href", linkUS)
  }
});
于 2014-06-13T15:56:12.567 に答える