0 / 0 / 1
Регистрация: 18.06.2009
Сообщений: 119
|
|
1 | |
отслеживание клика по iframe04.09.2019, 13:11. Показов 1987. Ответов 0
Метки нет (Все метки)
Всем привет! Помогите пжл разобраться с такой проблемой: на сайте есть 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 (c) 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.exports=r(require("jquery")):r(e.jQuery)}(this,fun ction(e){!function(e){e.fn.iframeTracker=function(r){"function"==typeof r&&(r={blurCallback:r});var t=this.get();if(null===r||!1===r)e.iframeTracker.untrack(t);else{if("object"!=ty peof 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={focusRetriever:null,focusRetrieved:!1,handlersList:[],isIE8AndOlder:!1,init:function(){try{!0===e.browser.msie&&e.browser.version<9&& (this.isIE8AndOlder=!0)}catch(e){try{navigator.userAgent.match(/(msie) ([\w.]+)/i)[2]<9&&(this.isIE8AndOlder=!0)}catch(e){}}if(e(window).focus(),e(window).blur(funct ion(r){e.iframeTracker.windowLoseFocus(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("#focus_retriever"),this.focusRetrieved=!1,this.isI E8AndOlder){this.focusRetriever.blur(function(r){r.stopPropagation(),r.preventDe fault(),e.iframeTracker.windowLoseFocus(r)}),e("body").click(function(r){e(windo w).focus()}),e("form").click(function(e){e.stopPropagation()});try{e("body").on( "click","form",function(e){e.stopPropagation()})}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.handlersList. push(t),e(r).bind("mouseover",{handler:t},e.iframeTracker.mouseoverListener).bin d("mouseout",{handler:t},e.iframeTracker.mouseoutListener)},untrack:function(r){ if("function"==typeof Array.prototype.filter){e(r).each(function(r){e(this).unbind("mouseover",e.ifram eTracker.mouseoverListener).unbind("mouseout",e.iframeTracker.mouseoutListener)} );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.handlersList[i].target.length&&(this.handlersList[i]=null)}this.handlersList=this.handlersList.filter(t)}else console.log("Your browser doesn't support Array filter, untrack disabled")},mouseoverListener:function(r){r.data.handler.over=!0,e.iframeTracker .retrieveFocus();try{r.data.handler.overCallback(this,r)}catch(e){}},mouseoutLis tener:function(r){r.data.handler.over=!1,e.iframeTracker.retrieveFocus();try{r.d ata.handler.outCallback(this,r)}catch(e){}},retrieveFocus:function(){document.ac tiveElement&&"IFRAME"===document.activeElement.tagName&&(e.iframeTracker.focusRe triever.focus(),e.iframeTracker.focusRetrieved=!0)},windowLoseFocus:function(e){ for(var r in this.handlersList)if(!0===this.handlersList[r].over)try{this.handlersList[r].blurCallback(e)}catch(e){}}},e(document).ready(function(){e.iframeTracker.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/webmas... l#comments . Не подскажите, пжл, как это все до кучи слепить? И будет ли это работать?
0
|
04.09.2019, 13:11 | |
Ответы с готовыми решениями:
0
Отслеживание клика вне формы Отслеживание клика мыши вне формы Отслеживание клика или просмотра рекламы от AdMob Яндекс.Метрика Отслеживание события клика по элементу |
04.09.2019, 13:11 | |
04.09.2019, 13:11 | |
Помогаю со студенческими работами здесь
1
Отслеживание клика по кнопке окна на панели задач Как обрабатывать событие клика внутри iframe ? Отслеживание клика мыши, и того что происходит при клике Запрет правого клика мышкой при выводе файла в iframe как сделать триггер клика (имитация клика) Не срабатывают события из iframe при перетаскивании в этот iframe в Opera Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |