0

標準の Google アナリティクス Javascript コードを使用して、ウェブサイトのアウトバウンド リンクを追跡しています。

  function recordOutboundLink(link, category, action) {
    _gat._getTrackerByName()._trackEvent(category, action);
    setTimeout('document.location = "' + link.href + '"', 100);
  }

リンクを追加"target='_blank'しても、すべてのリンクが同じウィンドウ/タブで開かれます。add を試み'document.location.target'ましたが、スクリプトはまだ機能していません。

4

1 に答える 1

3

document.location = newURL既存のウィンドウで URL が開きます。を使用window.open(newURL)して、新しいウィンドウで URL を開くことができます。

その他のいくつかのこと:

  1. document.locationは推奨されていません --location.href代わりに使用してください。
  2. アクションを渡さず、代わりにリンク href から取得することで、コードを簡素化できます。

以下を試してください

<a href='http://example.com' onclick="return recordOutboundLink(this, 'Outbound Link');">

function recordOutboundLink(link, category) {
  var url = link.href;
  _gat._getTrackerByName()._trackEvent(category, url);
  if (link.target == '_blank') 
    window.open(url);
  else 
    setTimeout(function() {location.href = url;}, 150);
  return false;
}

参考までに: 既存のウィンドウで URL を開くためだけに setTimeout を使用するのはなぜですか? 既存のウィンドウで新しい URL を開き始めると、分析トラッキング ピクセルのリクエストが完了する前に停止する可能性があります。URL を新しいウィンドウで開いている場合は、待つ必要はありません。

于 2012-07-08T19:46:20.180 に答える