Показать сообщение отдельно
  #1 (permalink)  
Старый 17.01.2012, 21:46
Интересующийся
Отправить личное сообщение для vamfirius Посмотреть профиль Найти все сообщения от vamfirius
 
Регистрация: 01.07.2010
Сообщений: 29

Проблема с яндекс метрикой в IE(область видимости объекта)
Всем доброго дня.
При помощи следующего кода на сайт подключается счетчик яндекс метрики -

<script type="text/javascript">
var yaParams = {/*Здесь параметры визита*/};
</script>

<div style="display:none;">
<script src="//mc.yandex.ru/metrika/watch.js" type="text/javascript" defer="defer"></script>
<script type="text/javascript">
(function(w, c) {
    (w[c] = w[c] || []).push(function() {
        try {
            w.yaCounterSOMEID = new Ya.Metrika({id:SOMEID, enableAll: true, webvisor:true,params:window.yaParams||{ }});
        }
        catch(e) { }
    });
})(window, "yandex_metrika_callbacks");
</script></div>
<noscript><div><img src="//mc.yandex.ru/watch/SOMEID" style="position:absolute; left:-9999px;" alt="" /></div></noscript>


Далее реализовано отслеживание целеи следующим образом ( цель - оставить заявку на email ) -

yaCounterSOMEID.hit('http://'+servername+thisurl+'#requestsent',null,null);


Собственно код отправки данных в php скрипт аяксом -

function send_mail(){
	if ($('.tel').val().length < 7 || $(".tel").val() == "ТЕЛЕФОН*"){
		$('.tel').css('color', '#FF0000');
		return false;
	}
	var name = encodeURIComponent($(".name").val());
	var tel = encodeURIComponent($(".tel").val());
	var comment = encodeURIComponent($(".comment").val());
	$.ajax({
		url: '/include/mail.php?name='+name+'&tel='+tel+'&comment='+comment+'&url='+thisurl,
		success: function (data){
			$('#request-form').fadeOut('0.1',function(){
			$('#request-submit').fadeIn('0.1');
			});
			$(".tel").val('ТЕЛЕФОН*');
			$(".name").val('ВАШЕ ИМЯ');
			$(".comment").val('');
			$('#comment-form').hide();
			yaCounterSOMEID.hit('http://'+servername+thisurl+'#requestsent',null,null);
		}
	});
}


Проблема в том что исключительно только в IE код счетчика цели(yaCounterSOMEID.hit('http://'+servername+thisurl+'#requestsent',null,null) в скрипте с аяксом вызывает ошибку и соответственно не отправляет данные в метрику. Ошибка - yaCounterSOMEID определение отсутствует.

Я далеко не спец в js, так нахватался верхов. Помогите плиз.
Ответить с цитированием