Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93
/home/sportsfe.../httpdocs/clone/wp-conte.../plugins/advanced.../public/assets/js
File: advanced.js
/*
[0] Fix | Delete
* advanced ads functions to be used directly within ad codes
[1] Fix | Delete
*/
[2] Fix | Delete
[3] Fix | Delete
/**
[4] Fix | Delete
* Polyfills
[5] Fix | Delete
*/
[6] Fix | Delete
(function () {
[7] Fix | Delete
if ( typeof window.CustomEvent !== "function" ) {
[8] Fix | Delete
/**
[9] Fix | Delete
* CustomEvent polyfill for IE11: https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent
[10] Fix | Delete
*
[11] Fix | Delete
* @param {string} event Event name.
[12] Fix | Delete
* @param {object} params Event parameters.
[13] Fix | Delete
* @returne {object} Custom event.
[14] Fix | Delete
*/
[15] Fix | Delete
function CustomEvent ( event, params ) {
[16] Fix | Delete
params = params || { bubbles: false, cancelable: false, detail: null };
[17] Fix | Delete
var evt = document.createEvent( 'CustomEvent' );
[18] Fix | Delete
evt.initCustomEvent( event, params.bubbles, params.cancelable, params.detail );
[19] Fix | Delete
return evt;
[20] Fix | Delete
}
[21] Fix | Delete
[22] Fix | Delete
window.CustomEvent = CustomEvent;
[23] Fix | Delete
}
[24] Fix | Delete
[25] Fix | Delete
/**
[26] Fix | Delete
* ReplaceWith polyfill for IE11: https://developer.mozilla.org/en-US/docs/Web/API/ChildNode/replaceWith
[27] Fix | Delete
*/
[28] Fix | Delete
function ReplaceWithPolyfill() {
[29] Fix | Delete
'use-strict'; // For safari, and IE > 10
[30] Fix | Delete
var parent = this.parentNode, i = arguments.length, currentNode;
[31] Fix | Delete
if ( ! parent) {
[32] Fix | Delete
return;
[33] Fix | Delete
}
[34] Fix | Delete
if ( ! i ) {// if there are no arguments
[35] Fix | Delete
parent.removeChild( this );
[36] Fix | Delete
}
[37] Fix | Delete
while ( i-- ) { // i-- decrements i and returns the value of i before the decrement
[38] Fix | Delete
currentNode = arguments[i];
[39] Fix | Delete
if ( typeof currentNode !== 'object' ) {
[40] Fix | Delete
currentNode = this.ownerDocument.createTextNode( currentNode );
[41] Fix | Delete
} else if ( currentNode.parentNode ) {
[42] Fix | Delete
currentNode.parentNode.removeChild( currentNode );
[43] Fix | Delete
}
[44] Fix | Delete
// the value of "i" below is after the decrement
[45] Fix | Delete
if ( ! i ) { // if currentNode is the first argument (currentNode === arguments[0])
[46] Fix | Delete
parent.replaceChild( currentNode, this );
[47] Fix | Delete
} else { // if currentNode isn't the first
[48] Fix | Delete
parent.insertBefore( currentNode, this.nextSibling );
[49] Fix | Delete
}
[50] Fix | Delete
}
[51] Fix | Delete
}
[52] Fix | Delete
if ( ! Element.prototype.replaceWith ) {
[53] Fix | Delete
Element.prototype.replaceWith = ReplaceWithPolyfill;
[54] Fix | Delete
}
[55] Fix | Delete
if ( ! CharacterData.prototype.replaceWith ) {
[56] Fix | Delete
CharacterData.prototype.replaceWith = ReplaceWithPolyfill;
[57] Fix | Delete
}
[58] Fix | Delete
if ( ! DocumentType.prototype.replaceWith ) {
[59] Fix | Delete
DocumentType.prototype.replaceWith = ReplaceWithPolyfill;
[60] Fix | Delete
}
[61] Fix | Delete
[62] Fix | Delete
/**
[63] Fix | Delete
* Polyfill for NodeList.foreach() because we need to support IE11: https://developer.mozilla.org/en-US/docs/Web/API/NodeList/forEach
[64] Fix | Delete
*/
[65] Fix | Delete
if ( window.NodeList && ! NodeList.prototype.forEach ) {
[66] Fix | Delete
NodeList.prototype.forEach = function( callback, thisArg ) {
[67] Fix | Delete
var i;
[68] Fix | Delete
var len = this.length;
[69] Fix | Delete
[70] Fix | Delete
thisArg = thisArg || window;
[71] Fix | Delete
[72] Fix | Delete
for ( i = 0; i < len; i++ ) {
[73] Fix | Delete
callback.call( thisArg, this[ i ], i, this );
[74] Fix | Delete
}
[75] Fix | Delete
};
[76] Fix | Delete
}
[77] Fix | Delete
[78] Fix | Delete
})();
[79] Fix | Delete
[80] Fix | Delete
advads = {
[81] Fix | Delete
/**
[82] Fix | Delete
* check if localstorage is supported/enabled by client
[83] Fix | Delete
*/
[84] Fix | Delete
supports_localstorage: function () {
[85] Fix | Delete
"use strict";
[86] Fix | Delete
try {
[87] Fix | Delete
if ( ! window || window.localStorage === undefined ) {
[88] Fix | Delete
return false;
[89] Fix | Delete
}
[90] Fix | Delete
// storage might be full or disabled
[91] Fix | Delete
window.localStorage.setItem( "x", "x" );
[92] Fix | Delete
window.localStorage.removeItem( "x" );
[93] Fix | Delete
return true;
[94] Fix | Delete
} catch ( e ) {
[95] Fix | Delete
return false;
[96] Fix | Delete
}
[97] Fix | Delete
},
[98] Fix | Delete
/**
[99] Fix | Delete
* check if the ad is displayed more than {max} times per session
[100] Fix | Delete
* every check increases the counter
[101] Fix | Delete
*
[102] Fix | Delete
* @param {string} name (no id needed, just any id-formated string)
[103] Fix | Delete
* @param {type} max number of maximum times the ad can be displayed within the period
[104] Fix | Delete
* @returns {bool} true if limit is reached
[105] Fix | Delete
*/
[106] Fix | Delete
max_per_session: function ( name, max ) {
[107] Fix | Delete
var num = 1;
[108] Fix | Delete
if ( max === undefined || parseInt( max ) === 0 ) {
[109] Fix | Delete
max = 1;
[110] Fix | Delete
}
[111] Fix | Delete
[112] Fix | Delete
// check if cookie exists and get the value
[113] Fix | Delete
if ( this.cookie_exists( name ) ) {
[114] Fix | Delete
if ( this.get_cookie( name ) >= max ) {
[115] Fix | Delete
return true;
[116] Fix | Delete
}
[117] Fix | Delete
num = num + parseInt( this.get_cookie( name ) );
[118] Fix | Delete
}
[119] Fix | Delete
this.set_cookie( name, num );
[120] Fix | Delete
return false;
[121] Fix | Delete
},
[122] Fix | Delete
/**
[123] Fix | Delete
* increase a cookie with an integer value by 1
[124] Fix | Delete
*
[125] Fix | Delete
* @param {str} name of the cookie
[126] Fix | Delete
* @param {int} exdays days until cookie expires
[127] Fix | Delete
*/
[128] Fix | Delete
count_up: function ( name, exdays ) {
[129] Fix | Delete
var num = 1;
[130] Fix | Delete
[131] Fix | Delete
// check if cookie exists and get the value
[132] Fix | Delete
if ( this.cookie_exists( name ) ) {
[133] Fix | Delete
num = num + parseInt( this.get_cookie( name ) );
[134] Fix | Delete
}
[135] Fix | Delete
this.set_cookie( name, num );
[136] Fix | Delete
},
[137] Fix | Delete
/**
[138] Fix | Delete
* return true, if cookie exists
[139] Fix | Delete
* return false, if not
[140] Fix | Delete
* if not exists, create it
[141] Fix | Delete
* use case: to check if something already happened in this page impression
[142] Fix | Delete
*
[143] Fix | Delete
* @param {type} name
[144] Fix | Delete
* @returns {unresolved}
[145] Fix | Delete
*/
[146] Fix | Delete
set_cookie_exists: function ( name ) {
[147] Fix | Delete
if ( get_cookie( name ) ) {
[148] Fix | Delete
return true;
[149] Fix | Delete
}
[150] Fix | Delete
set_cookie( name, '', 0 );
[151] Fix | Delete
return false;
[152] Fix | Delete
},
[153] Fix | Delete
/**
[154] Fix | Delete
* get a cookie value
[155] Fix | Delete
*
[156] Fix | Delete
* @param {string} name of the cookie
[157] Fix | Delete
* @return {string} decoded cookie value
[158] Fix | Delete
*/
[159] Fix | Delete
get_cookie: function ( name ) {
[160] Fix | Delete
var i, x, y, ADVcookies = document.cookie.split( ';' );
[161] Fix | Delete
for ( i = 0; i < ADVcookies.length; i ++ ) {
[162] Fix | Delete
x = ADVcookies[i].substr( 0, ADVcookies[i].indexOf( '=' ) );
[163] Fix | Delete
y = ADVcookies[i].substr( ADVcookies[i].indexOf( '=' ) + 1 );
[164] Fix | Delete
x = x.replace( /^\s+|\s+$/g, '' );
[165] Fix | Delete
if ( x === name ) {
[166] Fix | Delete
return decodeURIComponent( y );
[167] Fix | Delete
}
[168] Fix | Delete
}
[169] Fix | Delete
},
[170] Fix | Delete
/**
[171] Fix | Delete
* set a cookie value
[172] Fix | Delete
*
[173] Fix | Delete
* @param {str} name of the cookie
[174] Fix | Delete
* @param {str} value of the cookie
[175] Fix | Delete
* @param {int} exdays days until cookie expires
[176] Fix | Delete
* set 0 to expire cookie immidiatelly
[177] Fix | Delete
* set null to expire cookie in the current session
[178] Fix | Delete
*/
[179] Fix | Delete
set_cookie: function ( name, value, exdays, path, domain, secure ) {
[180] Fix | Delete
// days in seconds
[181] Fix | Delete
var expiry = (
[182] Fix | Delete
exdays == null
[183] Fix | Delete
) ? null : exdays * 24 * 60 * 60;
[184] Fix | Delete
this.set_cookie_sec( name, value, expiry, path, domain, secure );
[185] Fix | Delete
},
[186] Fix | Delete
/**
[187] Fix | Delete
* set a cookie with expiry given in seconds
[188] Fix | Delete
*
[189] Fix | Delete
* @param {str} name of the cookie
[190] Fix | Delete
* @param {str} value of the cookie
[191] Fix | Delete
* @param {int} expiry seconds until cookie expires
[192] Fix | Delete
* set 0 to expire cookie immidiatelly
[193] Fix | Delete
* set null to expire cookie in the current session
[194] Fix | Delete
*/
[195] Fix | Delete
set_cookie_sec: function ( name, value, expiry, path, domain, secure ) {
[196] Fix | Delete
var exdate = new Date();
[197] Fix | Delete
exdate.setSeconds( exdate.getSeconds() + parseInt( expiry ) );
[198] Fix | Delete
document.cookie = name + "=" + encodeURIComponent( value ) +
[199] Fix | Delete
(
[200] Fix | Delete
(
[201] Fix | Delete
expiry == null
[202] Fix | Delete
) ? "" : "; expires=" + exdate.toUTCString()
[203] Fix | Delete
) +
[204] Fix | Delete
(
[205] Fix | Delete
(
[206] Fix | Delete
path == null
[207] Fix | Delete
) ? "; path=/" : "; path=" + path
[208] Fix | Delete
) +
[209] Fix | Delete
(
[210] Fix | Delete
(
[211] Fix | Delete
domain == null
[212] Fix | Delete
) ? "" : "; domain=" + domain
[213] Fix | Delete
) +
[214] Fix | Delete
(
[215] Fix | Delete
(
[216] Fix | Delete
secure == null
[217] Fix | Delete
) ? "" : "; secure"
[218] Fix | Delete
);
[219] Fix | Delete
},
[220] Fix | Delete
/**
[221] Fix | Delete
* check if a cookie is set and contains a value
[222] Fix | Delete
*
[223] Fix | Delete
* @param {str} name of the cookie
[224] Fix | Delete
* @returns {bool} true, if cookie is set
[225] Fix | Delete
*/
[226] Fix | Delete
cookie_exists: function ( name ) {
[227] Fix | Delete
var c_value = this.get_cookie( name );
[228] Fix | Delete
if ( c_value !== null && c_value !== "" && c_value !== undefined ) {
[229] Fix | Delete
return true;
[230] Fix | Delete
}
[231] Fix | Delete
return false;
[232] Fix | Delete
},
[233] Fix | Delete
/**
[234] Fix | Delete
* move one element into another
[235] Fix | Delete
*
[236] Fix | Delete
* @param {str} element selector of the element that should be moved
[237] Fix | Delete
* @param {str} target selector of the element where to move
[238] Fix | Delete
* @param {arr} options
[239] Fix | Delete
*/
[240] Fix | Delete
move: function ( element, target, options ) {
[241] Fix | Delete
[242] Fix | Delete
var el = jQuery( element );
[243] Fix | Delete
var target_string = target;
[244] Fix | Delete
[245] Fix | Delete
if ( typeof options === 'undefined' ) {
[246] Fix | Delete
options = {};
[247] Fix | Delete
}
[248] Fix | Delete
if ( typeof options.css === 'undefined' ) {
[249] Fix | Delete
options.css = {};
[250] Fix | Delete
}
[251] Fix | Delete
if ( typeof options.method === 'undefined' ) {
[252] Fix | Delete
options.method = 'prependTo';
[253] Fix | Delete
}
[254] Fix | Delete
[255] Fix | Delete
// search for abstract target element
[256] Fix | Delete
if ( target === '' && typeof options.target !== 'undefined' ) {
[257] Fix | Delete
switch ( options.target ) {
[258] Fix | Delete
case 'wrapper' : // wrapper
[259] Fix | Delete
var offset = 'left';
[260] Fix | Delete
if ( typeof options.offset !== 'undefined' ) {
[261] Fix | Delete
offset = options.offset;
[262] Fix | Delete
}
[263] Fix | Delete
target = this.find_wrapper( element, offset );
[264] Fix | Delete
break;
[265] Fix | Delete
}
[266] Fix | Delete
}
[267] Fix | Delete
[268] Fix | Delete
// use only visible elements
[269] Fix | Delete
if ( typeof options.moveintohidden === 'undefined' ) {
[270] Fix | Delete
target = jQuery( target ).filter( ':visible' );
[271] Fix | Delete
} else {
[272] Fix | Delete
target = jQuery( target );
[273] Fix | Delete
}
[274] Fix | Delete
[275] Fix | Delete
// print warning in console if the element appears multiple times
[276] Fix | Delete
if ( target.length > 1 ) {
[277] Fix | Delete
console.log( "Advanced Ads: element '" + target_string + "' found " + target.length + " times." );
[278] Fix | Delete
}
[279] Fix | Delete
[280] Fix | Delete
// switch insert method
[281] Fix | Delete
switch ( options.method ) {
[282] Fix | Delete
case 'insertBefore' :
[283] Fix | Delete
el.insertBefore( target );
[284] Fix | Delete
break;
[285] Fix | Delete
case 'insertAfter' :
[286] Fix | Delete
el.insertAfter( target );
[287] Fix | Delete
break;
[288] Fix | Delete
case 'appendTo' :
[289] Fix | Delete
el.appendTo( target );
[290] Fix | Delete
break;
[291] Fix | Delete
case 'prependTo' :
[292] Fix | Delete
el.prependTo( target );
[293] Fix | Delete
break;
[294] Fix | Delete
default :
[295] Fix | Delete
el.prependTo( target );
[296] Fix | Delete
}
[297] Fix | Delete
},
[298] Fix | Delete
[299] Fix | Delete
/**
[300] Fix | Delete
* Set 'relative' position for a parent element.
[301] Fix | Delete
*
[302] Fix | Delete
* @param {str} element selector
[303] Fix | Delete
*/
[304] Fix | Delete
set_parent_relative: function ( element, options ) {
[305] Fix | Delete
var options = typeof options !== 'undefined' ? options : {};
[306] Fix | Delete
var el = jQuery( element );
[307] Fix | Delete
// give "position" style to parent element, if missing
[308] Fix | Delete
var parent = el.parent();
[309] Fix | Delete
[310] Fix | Delete
if ( options.use_grandparent ) {
[311] Fix | Delete
parent = parent.parent();
[312] Fix | Delete
}
[313] Fix | Delete
[314] Fix | Delete
if ( parent.css( 'position' ) === 'static' || parent.css( 'position' ) === '' ) {
[315] Fix | Delete
parent.css( 'position', 'relative' );
[316] Fix | Delete
}
[317] Fix | Delete
},
[318] Fix | Delete
[319] Fix | Delete
/**
[320] Fix | Delete
* make an absolute position element fixed at the current position
[321] Fix | Delete
* hint: use only after DOM is fully loaded in order to fix a wrong position
[322] Fix | Delete
*
[323] Fix | Delete
* @param {str} element selector
[324] Fix | Delete
* @param {obj} options
[325] Fix | Delete
*/
[326] Fix | Delete
fix_element: function ( element, options ) {
[327] Fix | Delete
var options = typeof options !== 'undefined' ? options : {};
[328] Fix | Delete
[329] Fix | Delete
var el = jQuery( element );
[330] Fix | Delete
[331] Fix | Delete
if ( options.use_grandparent ) {
[332] Fix | Delete
this.set_parent_relative( el.parent() );
[333] Fix | Delete
} else {
[334] Fix | Delete
this.set_parent_relative( el );
[335] Fix | Delete
}
[336] Fix | Delete
[337] Fix | Delete
// fix element at current position
[338] Fix | Delete
// get position for hidden elements by showing them for a very short time
[339] Fix | Delete
if ( options.is_invisible ) {
[340] Fix | Delete
el.show();
[341] Fix | Delete
}
[342] Fix | Delete
var topoffset = parseInt( el.offset().top );
[343] Fix | Delete
var leftoffset = parseInt( el.offset().left );
[344] Fix | Delete
if ( options.is_invisible ) {
[345] Fix | Delete
el.hide();
[346] Fix | Delete
}
[347] Fix | Delete
if ( 'left' === options.offset ) {
[348] Fix | Delete
// Allow to scale the nested image down when it has `max-width: 100%` and touches the left edge of the viewport.
[349] Fix | Delete
var rightoffset = jQuery( window ).width() - leftoffset - el.outerWidth();
[350] Fix | Delete
el.css( 'position', 'fixed' ).css( 'top', topoffset + 'px' ).css( 'right', rightoffset + 'px' ).css( 'left', '' );
[351] Fix | Delete
} else {
[352] Fix | Delete
// reset "right" to prevent conflicts
[353] Fix | Delete
el.css( 'position', 'fixed' ).css( 'top', topoffset + 'px' ).css( 'left', leftoffset + 'px' ).css( 'right', '' );
[354] Fix | Delete
}
[355] Fix | Delete
[356] Fix | Delete
},
[357] Fix | Delete
[358] Fix | Delete
/**
[359] Fix | Delete
* find the main wrapper
[360] Fix | Delete
* either id or first of its class
[361] Fix | Delete
*
[362] Fix | Delete
* @param {str} element selector
[363] Fix | Delete
* @param {str} offset which position of the offset to check (left or right)
[364] Fix | Delete
* @return {str} selector
[365] Fix | Delete
*/
[366] Fix | Delete
find_wrapper: function ( element, offset ) {
[367] Fix | Delete
// first margin: auto element after body
[368] Fix | Delete
var returnValue;
[369] Fix | Delete
jQuery( 'body' ).children().each( function ( key, value ) {
[370] Fix | Delete
// exclude current element
[371] Fix | Delete
// TODO exclude <script>
[372] Fix | Delete
if ( value.id !== element.substring( 1 ) ) {
[373] Fix | Delete
// check offset value
[374] Fix | Delete
var checkedelement = jQuery( value );
[375] Fix | Delete
// check if there is space left or right of the element
[376] Fix | Delete
if ( (
[377] Fix | Delete
offset === 'right' && (
[378] Fix | Delete
checkedelement.offset().left + jQuery( checkedelement ).width() < jQuery( window ).width()
[379] Fix | Delete
)
[380] Fix | Delete
) ||
[381] Fix | Delete
(
[382] Fix | Delete
offset === 'left' && checkedelement.offset().left > 0
[383] Fix | Delete
) ) {
[384] Fix | Delete
// fix element
[385] Fix | Delete
if ( checkedelement.css( 'position' ) === 'static' || checkedelement.css( 'position' ) === '' ) {
[386] Fix | Delete
checkedelement.css( 'position', 'relative' );
[387] Fix | Delete
}
[388] Fix | Delete
// set return value
[389] Fix | Delete
returnValue = value;
[390] Fix | Delete
return false;
[391] Fix | Delete
}
[392] Fix | Delete
}
[393] Fix | Delete
} );
[394] Fix | Delete
return returnValue;
[395] Fix | Delete
},
[396] Fix | Delete
/**
[397] Fix | Delete
* center fixed element on the screen
[398] Fix | Delete
*
[399] Fix | Delete
* @param {str} element selector
[400] Fix | Delete
*/
[401] Fix | Delete
center_fixed_element: function ( element ) {
[402] Fix | Delete
var el = jQuery( element );
[403] Fix | Delete
// half window width minus half element width
[404] Fix | Delete
var left = (
[405] Fix | Delete
jQuery( window ).width() / 2
[406] Fix | Delete
) - (
[407] Fix | Delete
parseInt( el.css( 'width' ) ) / 2
[408] Fix | Delete
);
[409] Fix | Delete
el.css( 'left', left + 'px' );
[410] Fix | Delete
},
[411] Fix | Delete
/**
[412] Fix | Delete
* center element vertically on the screen
[413] Fix | Delete
*
[414] Fix | Delete
* @param {str} element selector
[415] Fix | Delete
*/
[416] Fix | Delete
center_vertically: function ( element ) {
[417] Fix | Delete
var el = jQuery( element );
[418] Fix | Delete
// half window height minus half element height
[419] Fix | Delete
var left = (
[420] Fix | Delete
jQuery( window ).height() / 2
[421] Fix | Delete
) - (
[422] Fix | Delete
parseInt( el.css( 'height' ) ) / 2
[423] Fix | Delete
);
[424] Fix | Delete
[425] Fix | Delete
// Center correctly when the ad is attached to the element that begins lower.
[426] Fix | Delete
if ( el.css( 'position' ) !== 'fixed' ) {
[427] Fix | Delete
left -= topoffset = parseInt( el.offset().top );
[428] Fix | Delete
}
[429] Fix | Delete
el.css( 'top', left + 'px' );
[430] Fix | Delete
},
[431] Fix | Delete
/**
[432] Fix | Delete
* close an ad and add a cookie
[433] Fix | Delete
*
[434] Fix | Delete
* @param {str} element selector
[435] Fix | Delete
*/
[436] Fix | Delete
close: function ( element ) {
[437] Fix | Delete
var wrapper = jQuery( element );
[438] Fix | Delete
// remove the ad
[439] Fix | Delete
wrapper.remove();
[440] Fix | Delete
},
[441] Fix | Delete
/**
[442] Fix | Delete
* Wait until images are ready.
[443] Fix | Delete
*
[444] Fix | Delete
* @param {obj} $el jQuery object.
[445] Fix | Delete
* @param {function} ready_callback Ready callback.
[446] Fix | Delete
* derrived from https://github.com/alexanderdickson/waitForImages/blob/master/dist/jquery.waitforimages.js
[447] Fix | Delete
*/
[448] Fix | Delete
wait_for_images: function ( $el, ready_callback ) {
[449] Fix | Delete
var loaded_count = 0;
[450] Fix | Delete
var srcs = [];
[451] Fix | Delete
[452] Fix | Delete
$el.find( 'img[src][src!=""]' ).each( function () {
[453] Fix | Delete
srcs.push( this.src );
[454] Fix | Delete
} );
[455] Fix | Delete
[456] Fix | Delete
if ( srcs.length === 0 ) {
[457] Fix | Delete
ready_callback.call( $el );
[458] Fix | Delete
}
[459] Fix | Delete
[460] Fix | Delete
jQuery.each( srcs, function ( i, src ) {
[461] Fix | Delete
var image = new Image();
[462] Fix | Delete
image.src = src;
[463] Fix | Delete
var events = 'load error';
[464] Fix | Delete
[465] Fix | Delete
jQuery( image ).one( events, function me( event ) {
[466] Fix | Delete
// Remove remaining handler (either 'load' or 'error').
[467] Fix | Delete
jQuery( this ).off( events, me );
[468] Fix | Delete
loaded_count ++;
[469] Fix | Delete
[470] Fix | Delete
if ( loaded_count == srcs.length ) {
[471] Fix | Delete
ready_callback.call( $el[0] );
[472] Fix | Delete
return false;
[473] Fix | Delete
}
[474] Fix | Delete
} );
[475] Fix | Delete
} );
[476] Fix | Delete
},
[477] Fix | Delete
[478] Fix | Delete
privacy: {
[479] Fix | Delete
state: 'unknown',
[480] Fix | Delete
state_executed: false,
[481] Fix | Delete
/**
[482] Fix | Delete
* Get consent state.
[483] Fix | Delete
* IIFE so the events fire only once per event.
[484] Fix | Delete
*
[485] Fix | Delete
* @return string
[486] Fix | Delete
* 'not_needed' - consent is not needed.
[487] Fix | Delete
* 'accepted' - consent was given.
[488] Fix | Delete
* 'unknown' - consent was not given yet.
[489] Fix | Delete
*/
[490] Fix | Delete
get_state: (
[491] Fix | Delete
function () {
[492] Fix | Delete
return function () {
[493] Fix | Delete
// if we already have a state, return that.
[494] Fix | Delete
if ( window.advads_options.privacy.state !== 'unknown' ) {
[495] Fix | Delete
// make sure this only gets executed once.
[496] Fix | Delete
if ( ! advads.privacy.state_executed ) {
[497] Fix | Delete
advads.privacy.state_executed = true;
[498] Fix | Delete
advads.privacy.dispatch_event( window.advads_options.privacy.state, false );
[499] Fix | Delete
12
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function