Реклама на сайте Advertise with us

JavaScript и вызов события Yandex.Metrika - помогите плиз.

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:



С нами с 24.10.06
Сообщения: 169
Рейтинг: 147

Ссылка на сообщениеДобавлено: 08/10/14 в 22:18       Ответить с цитатойцитата 

Уже несколько часов мучаюсь, не могу сообразить как сделать, а ведь работало у меня это год назад! Итак.

Имеем сайт. В конце стоит код счетчика яндекс метрики, все ок, заходы считает.
На сайте по клику по ссылку отрабатывается событию onClick="start()" вызывая функцию JS типа:

Цитата:
function start() {
alert "Сюда кликнули!";
}

Мне нужно, чтобы событие зачитывалось как достигнутая цель.
Пытаюсь сделать следующее:

Цитата:
function start() {
yaCounterXXXXXX.reachGoal('click_here');
alert "Сюда кликнули!";
}


где ХХХХХХ - мой ИД в метрике.
На что получаю ошибку типа yaCounterXXXXXX не определено. Что в общем-то логично. В функции нигде не задана переменная(объект) yaCounterXXXXXX. Но как ее задать?

Попробовал код метрики (счетчика) ставить вверх страницы (выше вызова этой функции) - все то же самое.

Пробовал писать внутри функции типа
var yaCounterXXXXXX

тоже не получается. :-(

Подскажите плиз как сделать.

2
 



С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010


Передовик Master-X (16.03.2006) Передовик Master-X (01.04.2006) Передовик Master-X (16.04.2006) Передовик Master-X (01.05.2006) Передовик Master-X (01.11.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 08/10/14 в 22:46       Ответить с цитатойцитата 

а что в консоле пишет?

0
 



С нами с 24.10.06
Сообщения: 169
Рейтинг: 147

Ссылка на сообщениеДобавлено: 08/10/14 в 23:06       Ответить с цитатойцитата 


yaCounterXXXXXX is no defined

0
 



С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010


Передовик Master-X (16.03.2006) Передовик Master-X (01.04.2006) Передовик Master-X (16.04.2006) Передовик Master-X (01.05.2006) Передовик Master-X (01.11.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 08/10/14 в 23:32       Ответить с цитатойцитата 

yaCounterXXXXXX - циферки правильные указаны?

0
 



С нами с 24.10.06
Сообщения: 169
Рейтинг: 147

Ссылка на сообщениеДобавлено: 08/10/14 в 23:39       Ответить с цитатойцитата 

yaCounterXXXXXX - да, конечно, я их копипастил.
Просто внутри функции этот самый yaCounterXXXXXX не определен. Что логично. Вопрос, как его определить? Самое интересное то, что такая конструкция у меня работала год назад. Причем особых проблем я не помню. Но как там было реализовано - хз.

Если просто указать в ссылке:

OnClick = "yaCounterXXXXXX.reachGoal('click_here');" - то тут все работает. Но мне нужно чтобы по клику запускалась функция, а из нее уже дергался .reachGoal

ЗЫ: В ПХП я бы написал:

global yaCounterXXXXXX;

и все бы заработало. А вот в этом яваскрипте всегда все как-то не так реализуется :-).

0
 



С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010


Передовик Master-X (16.03.2006) Передовик Master-X (01.04.2006) Передовик Master-X (16.04.2006) Передовик Master-X (01.05.2006) Передовик Master-X (01.11.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 08/10/14 в 23:48       Ответить с цитатойцитата 

yaCounterXXXXXX вроде глобальная
у себя проверил, все работает console.log(yaCounterXXXXXX.reachGoal('click_here')); выдает true

0
 



С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010


Передовик Master-X (16.03.2006) Передовик Master-X (01.04.2006) Передовик Master-X (16.04.2006) Передовик Master-X (01.05.2006) Передовик Master-X (01.11.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 08/10/14 в 23:50       Ответить с цитатойцитата 

ну попробуй написать window.yaCounterXXXXXX trollface.png

0
 



С нами с 18.10.02
Сообщения: 4165
Рейтинг: 3365

Ссылка на сообщениеДобавлено: 09/10/14 в 00:11       Ответить с цитатойцитата 

yaCounterXXXXXX где определяется? в какой-то функции? var перед yaCounterXXXXXX стоит? если да, то убирай.

0
 



С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010


Передовик Master-X (16.03.2006) Передовик Master-X (01.04.2006) Передовик Master-X (16.04.2006) Передовик Master-X (01.05.2006) Передовик Master-X (01.11.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 09/10/14 в 09:28       Ответить с цитатойцитата 

надо смотреть весь код страницы, yaCounterXXXXXX глобальная переменная, возможно что-то не подгружается или сбрасывается по ходу загрузки

Код:

<script type="text/javascript">(function (d, w, c) { (w[c] = w[c] || []).push(function() { try { w.yaCounterXXXXXX = new Ya.Metrika({id:XXXXXX, clickmap:true, trackLinks:true}); } catch(e) {} }); var n = d.getElementsByTagName("script")[0], s = d.createElement("script"), f = function () { n.parentNode.insertBefore(s, n); }; s.type = "text/javascript"; s.async = true; s.src = (d.location.protocol == "https:" ? "https:" : "http:") + "//mc.yandex.ru/metrika/watch.js"; if (w.opera == "[object Opera]") { d.addEventListener("DOMContentLoaded", f); } else { f(); } })(document, window, "yandex_metrika_callbacks");</script><noscript><div><img src="//mc.yandex.ru/watch/XXXXXX" style="position:absolute;left:-9999px;" alt="" /></div></noscript>

0
 



С нами с 24.10.06
Сообщения: 169
Рейтинг: 147

Ссылка на сообщениеДобавлено: 09/10/14 в 11:06       Ответить с цитатойцитата 

Ну вот, сделал тестовую страницу.
В метрике задана цель-событие "click_play".
Код страницы:
Код: [развернуть]


В результате, если смотреть через FireBug, при клике на сылку вылетает ошибка:

ReferenceError: yaCounterXXXXXXXX is not defined
yaCounterXXXXXXXX.reachGoal('click_play');

Соответственно, цели не передаются.

При этом, заходы на страницу фиксируются, т.е. счетчик нормально собирает статистику.
Что я делаю не так?

0
 



С нами с 24.10.06
Сообщения: 169
Рейтинг: 147

Ссылка на сообщениеДобавлено: 09/10/14 в 11:26       Ответить с цитатойцитата 

Так, становится еще интереснее..
Я решил отказаться от функции.
Запихнул код счетчика вверх страницы, полсе тега
<body>

А ниже добавил еще одну ссылку:

<A href="#" OnClick="yaCounterXXXXXXXX.reachGoal('click_play2'); ">Click here 2!</A>

Предварительно задав в метрике событие click_play2

В результате та же самая ошибка: ReferenceError: yaCounterXXXXXXXX is not defined и как следствие цели не фиксируются.

0
 



С нами с 01.04.07
Сообщения: 4378
Рейтинг: 2970

Ссылка на сообщениеДобавлено: 09/10/14 в 11:31       Ответить с цитатойцитата 

А ты с иксами также запускаешь?

А то я попробовал на циферки заменить, и всё заработало.

0
 



С нами с 24.10.06
Сообщения: 169
Рейтинг: 147

Ссылка на сообщениеДобавлено: 09/10/14 в 11:44       Ответить с цитатойцитата 

Да нет, конечно. У меня цифры везде.
Бред какой-то... Сейчас посмотрел другой свой сайт, там все нормально, запуск идет из функции или из ссылки. Все работает. Тут нихрена не работает... Бредятина какая-то.

0
 



С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010


Передовик Master-X (16.03.2006) Передовик Master-X (01.04.2006) Передовик Master-X (16.04.2006) Передовик Master-X (01.05.2006) Передовик Master-X (01.11.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 09/10/14 в 12:08       Ответить с цитатойцитата 

можно считать вопрос закрытым trollface.png

0
 



С нами с 24.10.06
Сообщения: 169
Рейтинг: 147

Ссылка на сообщениеДобавлено: 09/10/14 в 12:28       Ответить с цитатойцитата 

ibiz писал:
можно считать вопрос закрытым

Да вот пока так и не заработало.
Поставил другой браузер, на другой комп, туда же поставл файрбаг. В консоле вроде все ок, но цели в метрике по прежнему на нуле.

Единсвенное что во вкладке Response я получаю вот такой ответ:

Код:
GIF89a&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;!&#65533;&#65533;&#65533;&#65533;&#65533;,&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;D&#65533;;


т.е. такое впечатление, что с кодировкой что-то не так. Может в этом дело?

0
 



С нами с 01.05.06
Сообщения: 215
Рейтинг: 74

Ссылка на сообщениеДобавлено: 14/10/14 в 11:42       Ответить с цитатойцитата 

а если так?

Код:

function start(yaCounterXXXXX) {
    yaCounterXXXXXX.reachGoal('click_here');
    alert "Сюда кликнули!";
}

<a href='' onclick="start(yaCounterXXXXXX);">link</a>

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »