-3

分析コードが読み込まれない理由を教えてください。米国の訪問者には、アラートが表示されています。

<script type="text/javascript">

$.getScript('http://www.geoplugin.net/javascript.gp', function() {
    $location =  geoplugin_countryName();

    if($location == "Canada" || $location == "United States") {
      alert("12");

    } else {

      var _gaq = _gaq || [];
      _gaq.push(['_setAccount', 'UA-9240923-27']);
      _gaq.push(['_trackPageview']);

      (function() {
        var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
      })();          
    }
});

</script>
4

3 に答える 3

1

場所に基づいてアカウントを変更したいようですので、次のコードが必要です。

$.getScript('http://www.geoplugin.net/javascript.gp', function() {
    var $location =  geoplugin_countryName();
    var account = "";

    if($location == "Canada" || $location == "United States")
        account = 'UA-9240923-27'
    else
        account = "otherAccount";

    var _gaq = _gaq || [];
    _gaq.push(['_setAccount', account]);
    _gaq.push(['_trackPageview']);

    (function() {
        var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
    })();
});

編集

JavaScriptの最後に不正な文字があります。ソースを表示すると、スクリプトの最後に次のように表示されます。

});​

また、最初のスクリプトタグにが欠けているためtype="text/javascript、htmlファイルをdoctype、html、head、およびbodyで適切にフォーマットする必要があります。

于 2012-07-12T14:52:35.787 に答える
1

分析をカナダと米国でのみ機能させたい場合は } else {、コメントに記載されているように、ステートメントを削除してください

編集:わかりました:

$.getScript('http://www.geoplugin.net/javascript.gp', function() {
    $location =  geoplugin_countryName();

    if($location == "Canada" || $location == "United States") {
    // HERE INSERT THE CODE FOR LOADING ANALYTICS FOR USA
    } else {
        // HERE INSERT THE CODE FOR LOADING ANALYTICS FOR OTHER COUNTRY
      }          
    });
于 2012-07-12T14:55:17.050 に答える
1

JSFiddle でこのスニペットをテストしました: http://jsfiddle.net/wDzBc/

$.getScript('http://www.geoplugin.net/javascript.gp', function() {
    var location =  geoplugin_countryName();

    if(location == "Canada" || location == "United States") {
      alert("12");
    } else {
      var _gaq = _gaq || [];
      _gaq.push(['_setAccount', 'UA-9240923-27']);
      _gaq.push(['_trackPageview']);

      (function() {
        var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
        alert('ga');
      })();          
    }
});
于 2012-07-12T14:57:56.987 に答える