Всем доброго дня.
При помощи следующего кода на сайт подключается счетчик яндекс метрики -
<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, так нахватался верхов. Помогите плиз.