1/** 2 * Javascript for Google Ads 3 * 4 **/ 5/** 6 * Ad Position Creation 7 */ 8window.googletag = window.googletag || {cmd: []}; 9googletag.cmd.push(function () { 10 11 var REFRESH_KEY = 'refresh'; 12 var REFRESH_VALUE = 'true'; 13 14 15 // Number of seconds to wait after the slot becomes viewable. 16 var SECONDS_TO_WAIT_AFTER_VIEWABILITY = 15; 17 18 var dfp_ad_data = dfp_ad_object[0], 19 acct_id = dfp_ad_data.account_id; 20 21 /** 22 * Loads Ad Position 23 * 24 * @param {Array} positions - Array of ad positions 25 */ 26 function load_ad_positions(dfp_ad_data) { 27 28 var positions = dfp_ad_data.positions; 29 var ad_pos, len; 30 // Run through positions 31 for (ad_pos = 0, len = positions.length; ad_pos < len; ++ad_pos) { 32 var x = document.getElementsByClassName(positions[ad_pos].position_tag); 33 //console.log(positions[ad_pos].position_tag); 34 //if(x.length) 35 define_ad_slot(positions[ad_pos],dfp_ad_data); 36 } 37 } 38 39 /** 40 * Loads Ad Position 41 * 42 * @param {Object} position - Array of ad positions 43 */ 44 function define_ad_slot(position,dfp_ad_data) { 45 46 47 48 var targeting = position.targeting; 49 50 if(targeting.hasOwnProperty('pos') && dfp_ad_data.page_targeting.pgtype) 51 { 52 53 if(dfp_ad_data.page_targeting.pgtype=='home' || jQuery("body").hasClass("home")) 54 { 55 googletag.defineSlot(acct_id ,position.sizes,position.position_tag).addService(googletag.pubads()).setTargeting('pos', targeting.pos).setTargeting('pgtype', 'homepage'); 56 console.log('home page ads slots'); 57 } 58 else 59 { try { 60 61 console.log(position); 62 if(dfp_ad_data.page_targeting.hasOwnProperty('articleid')) 63 googletag.defineSlot(acct_id ,position.sizes,position.position_tag).addService(googletag.pubads()).setTargeting('pos', targeting.pos).setTargeting('pgtype', dfp_ad_data.page_targeting.pgtype).setTargeting('categoryid', dfp_ad_data.page_targeting.categoryid).setTargeting('articleid', dfp_ad_data.page_targeting.articleid); 64 else 65 googletag.defineSlot(acct_id ,position.sizes,position.position_tag).addService(googletag.pubads()).setTargeting('pos', targeting.pos).setTargeting('pgtype', dfp_ad_data.page_targeting.pgtype).setTargeting('categoryid', dfp_ad_data.page_targeting.categoryid); 66 } 67 catch(err) { 68 //console.log(err); 69 70 } 71 } 72 if(dfp_ad_data.page_targeting.hasOwnProperty('pagetag') && dfp_ad_data.page_targeting.pagetag){ 73 googletag.pubads().setTargeting('pagetag', dfp_ad_data.page_targeting.pagetag); 74 } 75 76 //googletag.pubads().enableSingleRequest(); 77 } 78 else if(targeting.hasOwnProperty('pos')){ 79 //console.log(targeting.pos); 80 googletag.defineSlot( 81 acct_id , 82 position.sizes, 83 position.position_tag 84 ).addService(googletag.pubads()).setTargeting('pos', targeting.pos); 85 if(dfp_ad_data.page_targeting.hasOwnProperty('pagetag') && dfp_ad_data.page_targeting.pagetag){ 86 googletag.pubads().setTargeting('pagetag', dfp_ad_data.page_targeting.pagetag); 87 } 88 } 89 90 //set_targeting(dfp_ad_data.page_targeting); 91 92 } 93 94 /** 95 * Sets Page level targeting 96 * @param {object} targeting 97 */ 98 function set_targeting(targeting) { 99 for (var target in targeting) { 100 var key = target.toLowerCase(); 101 102 googletag.pubads().setTargeting(key, targeting[target]); 103 } 104 } 105 106 // Generates Ad Slots 107 load_ad_positions(dfp_ad_data); 108 // Collapse Empty Divs 109 //googletag.pubads().collapseEmptyDivs(true); 110 // Targeting 111 // 112 // Asynchronous Loading 113 if (dfp_ad_data.asynch === true) { 114 //googletag.pubads().disableInitialLoad(); 115 // googletag.pubads().disableInitialLoad(); 116 117 googletag.pubads().enableAsyncRendering(); 118 } 119 120 121 122 123 // Go 124googletag.pubads().disableInitialLoad(); 125 googletag.enableServices(); 126});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.