Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> отслеживание клика по iframe 
:(
    Опции темы
aleksandrm2014
Дата 4.9.2019, 15:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 21.3.2014

Репутация: нет
Всего: нет



Всем привет! Помогите пжл разобраться с такой проблемой: на сайте есть 7 блоков адсенс , хочу отслеживать клики по ним. Использую такое решение:

<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
<script>
/*! jquery.iframetracker v2.1.0 | https://github.com/vincepare/iframeTracker-jquery | Copyright © 2013-2018 Vincent Paré | Licensed Apache-2.0 */
!function(e,r){"function"==typeof define&&define.amd?define(["jquery"],function(e){return r(e)}):"object"==typeof module&&module.exports?module.expor ts=r(require("jquery")):r(e.jQuery) }(this,function(e){!function(e){e.f n.iframeTracker =function®{"function"==typeof r&&(r={blurCallback:r});var t=this.get();if(null===r||!1===r)e. iframeTracker.untrack(t);else{if("o bject"!=typeof r)throw new Error("Wrong handler type (must be an object, or null|false to untrack)");e.iframeTracker.track(t, r)}return this},e.iframeTracker={focusRetriev er:null,focusRetrieved:!1,handlersL ist:[],isIE8AndOlder:!1,init:function(){t ry{!0===e.browser.msie&&e.browser.v ersion<9&&(this.isIE8AndOlder=!0)}c atch(e){try{nav igator.userAgent.match(/(msie) ([\w.]+)/i)[2]<9&&(this.isIE8AndOlder=!0)}catch(e ){}}if(e(window).focus(),e(window). blur(function®{e.iframeTracker.wi ndowLoseFocus(r )}),e("body").append('<div style="position:fixed; top:0; left:0; overflow:hidden;"><input style="position:absolute; left:-300px;" type="text" value="" id="focus_retriever" readonly="true" /></div>'),this.focusRetriever=e("#focu s_retriever"),this.focusRetrieved=! 1,this.isIE8AndOlder){this.focusRet riever.blur(fun ction®{r.stopPropagation(),r.prev entDefault(),e.iframeTracker.window LoseFocus®}),e("body").click(func tion®{e(windo w).focus()}),e("form").click(functi on(e){e.stopPropagation()});try{e(" body").on("click","form",function(e ){e.stopPropaga tion()})}catch(e){console.log("[iframeTracker] Please update jQuery to 1.7 or newer. (exception: "+e.message+")")}}},track:function( r,t){t.target=r,e.iframeTracker.han dlersList.push(t),e®.bind("mouseo ver",{handler:t },e.iframeTracker.mouseoverListener ).bind("mouseout",{handler:t},e.ifr ameTracker.mouseoutListener)},untra ck:function®{ if("function"==typeof Array.prototype.filter){e®.each(f unction®{e(this).unbind("mouseove r",e.iframeTracker.mouseoverListene r).unbind("mous eout",e.iframeTracker.mouseoutListe ner)});var t=function(e){return null!==e};for(var i in this.handlersList){for(var o in this.handlersList[i].target)-1!==e.inArray(this.handlersList[i].target[o],r)&&(this.handlersList[i].target[o]=null);this.handlersList[i].target=this.handlersList[i].target.filter(t),0===this.handlers List[i].target.length&&(this.handlersList[i]=null)}this.handlersList=this.handl ersList.filter(t)}else console.log("Your browser doesn't support Array filter, untrack disabled")},mouseoverListener:funct ion®{r.data.handler.over=!0,e.ifr ameTracker.retrieveFocus();try{r.da ta.handler.over Callback(this,r)}catch(e){}},mouseo utListener:function®{r.data.handl er.over=!1,e.iframeTracker.retrieve Focus();try{r.d ata.handler.outCallback(this,r)}cat ch(e){}},retrieveFocus:function(){d ocument.activeElement&&"IFRAME"===d ocument.activeE lement.tagName&&(e.iframeTracker.fo cusRetriever.focus(),e.iframeTracke r.focusRetrieved=!0)},windowLoseFoc us:function(e){ for(var r in this.handlersList)if(!0===this.hand lersList[r].over)try{this.handlersList[r].blurCallback(e)}catch(e){}}},e(doc ument).ready(function(){e.iframeTra cker.init()})}(e)});
</script>


<script>
jQuery(document).ready(function($){
$('.ad1').iframeTracker({
blurCallback: function(){
window.dataLayer.push({
'event':'adsens_click', 
'event-adsens-category':'adsens', 
'event-adsens-action':'ad1'
});
}
});
$('.ad2').iframeTracker({
blurCallback: function(){
window.dataLayer.push({
'event':'adsens_click', 
'event-adsens-category':'adsens', 
'event-adsens-action':'ad2'
}); 
}
});
$('.ad3').iframeTracker({
blurCallback: function(){
window.dataLayer.push({
'event':'adsens_click', 
'event-adsens-category':'adsens', 
'event-adsens-action':'ad3'
});
}
});
$('.ad4').iframeTracker({
blurCallback: function(){
window.dataLayer.push({
'event':'adsens_click', 
'event-adsens-category':'adsens', 
'event-adsens-action':'ad4'
});
}
});
$('.ad5').iframeTracker({
blurCallback: function(){
window.dataLayer.push({
'event':'adsens_click', 
'event-adsens-category':'adsens', 
'event-adsens-action':'ad5'
});
}
});
$('.ad6').iframeTracker({
blurCallback: function(){
window.dataLayer.push({
'event':'adsens_click', 
'event-adsens-category':'adsens', 
'event-adsens-action':'ad6'
});
}
});
$('.ad7').iframeTracker({
blurCallback: function(){
window.dataLayer.push({
'event':'adsens_click', 
'event-adsens-category':'adsens', 
'event-adsens-action':'ad7'
});
}
});
$('.contentads').iframeTracker({
blurCallback: function(){
window.dataLayer.push({
'event':'adsens_click', 
'event-adsens-category':'adsens', 
'event-adsens-action':'contentads'
});
}
});
});
</script>

Работает (вызываю соответствующее событие при клике на каждый блок, чтоб знать какой блок кликнули), но идут и ложные клики. Появилась идея, вызывать событие о клике, если при этом юзер еще и ушел на новую вкладку (именно так и происходит, если юзер кликнул по объявлению Адсенс). Вот нашел решение http://www.manhunter.ru/webmaster/11....html#comments . Не подскажите, пжл, как это все до кучи слепить? И будет ли это работать?
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1093 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.