3

ドメインmap.ninux.orgの静的ファイルをロードするようにサブドメインstatic.map.ninux.orgを設定しました。目標は、Cookieのないドメインを持つことでした。

確認したところ、map.ninux.orgのGoogle Analyticsは、ドメイン「.map.ninux.org」でCookieを作成していることがわかりました。これは、何らかの理由でstatic.map.ninux.orgでも有効です。

この問題を解決するにはどうすればよいですか?

PS:このコードは正しいですか?

var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-26436344-1']);
_gaq.push(['_trackPageview']);
_gaq.push(['_setDomainName', 'map.ninux.org']);
(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);
})();

これでも、ホスト「.map.ninux.org」でCookieを取得します

4

3 に答える 3

3

グーグルトラッカーパラメータの順序は台無しになります。setDomainNameパラメーターを_trackPageviewの前に置くと、機能します。

var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-XXXXXXXX-X'],
    ['_setDomainName', 'www.example.com'],
    ['_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);
  })();
于 2011-11-10T05:50:02.840 に答える
3

編集:

static.map.ninux.orgはmap.ninux.orgからすべてのCookieを継承するため、map.ninux.orgのCookieを設定するときにstatic.map.ninux.orgのCookieを解放することはできません(この動作を変更するチャンス)。

代わりに、cookiefreeドメイン名をstatic-map.ninux.orgに変更することをお勧めします。この場合、「auto」である_setDomainNameのデフォルト設定が正しく機能します。

于 2011-10-21T11:44:32.177 に答える
1

cookielessドメインを促進する別の方法は、トラフィックをmap.ninux.orgではなくwww.map.ninux.orgにプッシュすることです。そうすれば、static.map.ninux.orgはcookielessのままになります。

次に、前の応答と同様に、次のディレクティブを使用できます

['_setDomainName', 'www.map.ninux.org']

または、次のようなGoogleAnalyticsの別のフレーバーの場合:

<script>
    (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
        (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
        m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
    })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
    ga('create', 'UA-XXXX-XX', 'ninux.org');
    ga('send', 'pageview'); 
</script>

それに応じて、「gacreate」部分を手動で変更できます。

ga('create', 'UA-XXXX-XX', 'www.map.ninux.org')

これにより、Google Analyticsは、.ninux.orgドメインではなく、.www.map.ninux.orgドメインにCookieを作成します。

于 2013-09-05T13:23:54.363 に答える