2015-07-01 3 views
3

Привет всем супер Google Analytics rockstars,Как получить глобальное имя функции Google Analytics?

Как получить глобальное имя функции Google Analytics, когда оно переименовано из сценария установки.

т.д .:

(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','__gaTracker'); 

Я хочу, чтобы получить "__gaTracker" имя функции, которая была переименована (или что-то еще).

Просто установив контекст, у нас есть сценарий, который работает на веб-сайтах клиента и отправляет события в Google Analytics. Иногда они имеют функцию «ga», и мы вызываем ga('send'...), но если они переименовывают ее, нам нужно позвонить (например) __gaTracker('send'...).

Есть ли способ получить глобальную функцию, которая была переименована.

Заранее благодарен !!!!

ответ

2

Доступ к нему возможен через window['GoogleAnalyticsObject'];, он даст вам имя переменной GLOBAL. Надеюсь, это то, о чем вы просили.

просто сделать F12 и вставить код в консоли здесь, вы увидите SO глобальное имя функции,

console.log(window['GoogleAnalyticsObject'];) // ouputs ga 
+0

Спасибо @ Anirban-н, но если я бегу 'окно [ 'GoogleAnalyticsObject'] 'он просто возвращает значение по умолчанию« ga », а не« __gaTracker ». –

+0

Когда я пытаюсь, я получаю переименованный трекер. Вы случайно используете отладчик ga? По-видимому (по словам Симо Ахава, который обычно знает, о чем он говорит) код отладчика всегда отображает «ga» даже для переименованных трекеров (https://productforums.google.com/forum/#!topic/tag-manager/I6bjoBsO3yQ) –

+1

Вы правы @ anirban-n. Я знаю, что происходит. Установлено 2 сценария GA. Первая установка с __gaTracker (где трекер фактически создан с UA-XXX), тогда есть еще одна установка с 'ga'. Таким образом, объект GoogleAnalyticsObject перезаписывается и возвращает «ga». –

1

Это невозможно вернуть «га» строку (в вашем случае) , Если да, вы должны оформить инициирование GoogleAnalyticsObject новым загрузчиком по умолчанию. Г-н Арнибан Н прав.

+0

Вы оба правы. Я знаю, что происходит. На этом веб-сайте установлено 2 сценария GA. Первая установка с __gaTracker (где трекер фактически создан с UA-XXX), тогда есть еще одна установка с 'ga'. Таким образом, объект GoogleAnalyticsObject перезаписывается и возвращает «ga». –

3

Google рекомендует использовать как "GoogleAnalyticsObject" и "ГА" переменные для GA следящей поиска:

// © Google Inc. 
// This function works even if the site 
// has customized the ga global identifier. 
var ga = window[window['GoogleAnalyticsObject'] || 'ga']; 

Full example on developers.google.com

Смежные вопросы