Advertisement
jump450media

Agora Test / VisibilityTrigger_content_trigger

Nov 21st, 2017
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. <!-- Facebook Pixel Code -->
  3. <script>
  4. !function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
  5. n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
  6. n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
  7. t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
  8. document,'script','//connect.facebook.net/en_US/fbevents.js');
  9.  
  10. fbq('init', '123456');
  11. fbq('track', 'PageView');
  12.  
  13.  
  14. var executeWhenElementIsVisible = function(dom_element, callback) {
  15.  
  16. if (!(dom_element instanceof HTMLElement)) {
  17.     console.error('dom_element must be a valid HTMLElement');
  18. }
  19.  
  20. if (typeof callback !== 'function') {
  21.     console.error(
  22.         'Second parameter must be a function, got',
  23.         typeof callback,
  24.         'instead',
  25.     );
  26. }
  27.  
  28. function isOnViewport(elem) {
  29.     var rect = elem.getBoundingClientRect();
  30.     var docElem = document.documentElement;
  31.     return (
  32.       rect.top >= 0 &&
  33.       rect.left >= 0 &&
  34.       rect.bottom <= (window.innerHeight || docElem.clientHeight) &&
  35.       rect.right <= (window.innerWidth || docElem.clientWidth)
  36.     );
  37. }
  38.  
  39. var executeCallback = (function() {
  40. var wasExecuted = false;
  41. return function() {
  42.   if (!wasExecuted && isOnViewport(dom_element)) {
  43.     wasExecuted = true;
  44.     callback();
  45.   }
  46. };
  47. })();
  48.  
  49. window.addEventListener('scroll', executeCallback, false);
  50. };
  51.  
  52. var trigger_element_id = document.getElementById('content_trigger');
  53. executeWhenElementIsVisible(trigger_element_id, function() { fbq('trackCustom', 'content_trigger', {custom_param: 'content_trigger'});  });
  54. </script>
  55. <noscript><img height='1' width='1' style='display:none' src='https://www.facebook.com/tr?id=123456&ev=PageView&noscript=1' /></noscript>
  56. <!-- End Facebook Pixel Code -->
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement