Google Sites + Google Analyticsで「サイト上のデータ表示」は要注意

Google SitesではGoogle Analyticsを用いる設定が簡単にできるが、Google Analyticsの「サイト上のデータ表示」を行うと「閉じる」をクリックしても何の反応がない。 画面にレイヤーが重なっていろいろなデータが表示されてしまう状態から抜けられない。

ネットを調べたところ、「閉じる」が見つからないために同じような現象に遭遇している事例は見つかったが、 「閉じる」をクリックしても、

_siteOverlay._close()

をアドレスバーに打ち込んでもダメだった。 おそらくGoogle Sitesを利用している場合特有の現象なのだろう。

この現象が発生することを確認したブラウザは

  • Google Chrome 4.0.237.0
  • Mozilla Firefox 3.5.5
  • Opera 10
  • Internet Explorer 8

で、いずれもOSはWindows Vista(32ビット)。ちなみにIE8ではレイアウトも崩れていた。

仕方がないので_siteOverlay.close()の中身をちょっと調べた。

function () {
    var domain, cookiePath;
    if (GLOBAL_window._udo) {
        domain = GLOBAL_window._udo;
    } else if (GLOBAL_window._gat && GLOBAL_window._gat._gasoDomain) {
        domain = GLOBAL_window._gat._gasoDomain;
    }
    if (domain) {
        domain = domain[$$PROP_replace]("domain=", "")[$$PROP_replace](";", "")[$$PROP_replace](/ /g, "");
    }
    if (GLOBAL_window._utcp) {
        cookiePath = GLOBAL_window._utcp;
    } else if (GLOBAL_window._gat && GLOBAL_window._gat._gasoCPath) {
        cookiePath = GLOBAL_window._gat._gasoCPath;
    }
    if (domain && cookiePath) {
        goog.net.cookies[$$PROP_remove]("GASO", cookiePath, "." + domain);
        GLOBAL_window.parent && GLOBAL_window.close();
        var idx = GLOBAL_document[$$PROP_location][$$PROP_href][$$PROP_indexOf]("#gaso=");
        if (idx > -1) {
            var href = GLOBAL_document[$$PROP_location][$$PROP_href][$$PROP_substring](0, idx);
            GLOBAL_document[$$PROP_location][$$PROP_replace](href);
        } else {
            GLOBAL_document[$$PROP_location].reload();
        }
    }
}

このうち、

GLOBAL_window._gat._gasoCPath

が空文字列になってしまっているために、Cookieが削除されずに残ってしまうようだ。

なぜそうなってしまうのかは面倒なので調べていないが、とりあえず対処方法としては該当するCookieを削除してしまえばよいということになる。 ドメインにあるクッキーのうち

  • GASO
  • aftzc

という名前のCookieが追加されていたので、これらを削除する。

ようやく解放された。

これからは「サイト上のデータ表示」はクリックしないように気をつけよう。