PageSourceSearch

https://www.adpushup.com/blog/wp-content/plugins/if-so/public/js/if-so-public.js?ver=1.5.6.2

js adpushup.com collected 2026-09-24 07:51:31 UTC 8,335 bytes, 246 lines download raw bytes

1var ifso_viewed_triggers = {};
2
3var ifso_scope = {
4	evalScriptsFromHTML :function(html){
5		if(typeof(jQuery) !== 'function')
6			return false;
7
8		var el = document.createElement('div');
9		jQuery(el).append(html);
10		var scripts = '';
11		jQuery(el).find('script').each(function(index){
12			scripts += this.innerHTML;
13		});
14		eval(scripts);
15	},
16};
17
18var ajax_triggers_loaded = document.createEvent('Event');
19ajax_triggers_loaded.initEvent('ifso_ajax_triggers_loaded', true, true);
20ifso_scope.DispatchTriggersLoaded  =  function () {document.dispatchEvent(ajax_triggers_loaded);};
21
22var ajax_conditions_loaded = document.createEvent('Event');
23ajax_conditions_loaded.initEvent('ifso_ajax_conditions_loaded', true, true);
24ifso_scope.DispatchStandaloneCondLoaded  =  function () {document.dispatchEvent(ajax_conditions_loaded);};
25
26
27(function( $ ) {
28	'use strict';
29
30	$(document).ready(function () {
31		function if_so_public(){
32			for(var ifso_scope_member_name in ifso_scope ){
33				if(typeof(ifso_scope_member_name) !=='undefined' && typeof(ifso_scope[ifso_scope_member_name])!=='undefined'){
34					this[ifso_scope_member_name] = ifso_scope[ifso_scope_member_name];
35				}
36			}
37		}
38
39		if_so_public.prototype = {
40			lookForLoadLaterTriggers : function(defer=false){
41				var ret = [];
42				var tags = $('IfSoTrigger');
43				tags.each(function(index,el){
44					var tid = el.getAttribute('tid');
45					var deferAttr =  el.getAttribute('defer');
46					if((deferAttr===null && !defer) ||  (deferAttr!==null && defer)){
47						if(null!== tid && $.inArray(tid,ret)<0){
48							ret.push(tid);
49						}
50					}
51				});
52				return ret;
53			},
54
55			replaceLoadLaterTriggers : function(defer = false){
56				var toReplace = this.lookForLoadLaterTriggers(defer);
57				var _this = this;
58				if (toReplace.length>0){
59					this.sendAjaxReq('render_ifso_shortcodes',{triggers:toReplace,pageload_referrer:referrer_for_pageload},function(ret){	//Referrer from if-so public
60						if(ret && ret!== null){
61							try{
62								var data = JSON.parse(ret);
63								$.each(data, function(tid,tval){
64									var tagsInDom = $('IfSoTrigger[tid="'+tid+'"]');
65									tagsInDom.each(function(i,tag){
66										tag.outerHTML = tval;
67										_this.evalScriptsFromHTML(tval);
68									})
69								});
70								ifso_scope.DispatchTriggersLoaded();
71							}
72							catch(e){
73								console.error('Error fetching if-so triggers!');
74								console.error(e);
75							}
76						}
77					})
78				}
79			},
80
81			lookForStandaloneConditions : function(tags){
82				var ret = [];
83				tags.each(function(index,el){
84					var _content = el.getAttribute('content');
85					var _default = el.getAttribute('default');
86					var _rule = el.getAttribute('rule');
87					var _hash = el.getAttribute('hash');
88					var _data = {'content':_content,'default':_default,'rule':_rule,'hash':_hash};
89					ret.push(_data);
90				});
91				return ret;
92			},
93
94			replaceStandaloneConditions : function(){
95				var elements = $('IfSoCondition');
96				var toReplace = this.lookForStandaloneConditions(elements);
97				console.log(toReplace);
98				var _this = this;
99				if(toReplace.length>0){
100					this.sendAjaxReq('render_ifso_shortcodes',{triggers:JSON.stringify(toReplace),pageload_referrer:referrer_for_pageload,is_standalone_condition:true},function(ret){	//Referrer from if-so public
101						try{
102							var data = JSON.parse(ret);
103							$.each(data, function(id,val){
104								elements[id].outerHTML = val;
105								_this.evalScriptsFromHTML(val);
106							});
107							ifso_scope.DispatchStandaloneCondLoaded();
108						}
109						catch(e){
110							console.error('Error fetching if-so standalone conditions!');
111							console.error(e);
112						}
113					});
114				}
115			},
116
117			sendAjaxReq : function(action, data, cb) {
118				data['action'] = action;
119				data['nonce'] = nonce;
120				//data['page_url'] = ifso_page_url;
121				data['page_url'] = window.location.href;
122
123				$.post(ajaxurl, data, function(response) {
124					if (cb)
125						cb(response);
126				});
127			},
128
129			getCookie : function(c_name) {
130				var c_value = document.cookie,
131					c_start = c_value.indexOf(" " + c_name + "=");
132				if (c_start == -1) c_start = c_value.indexOf(c_name + "=");
133				if (c_start == -1) {
134					c_value = null;
135				} else {
136					c_start = c_value.indexOf("=", c_start) + 1;
137					var c_end = c_value.indexOf(";", c_start);
138					if (c_end == -1) {
139						c_end = c_value.length;
140					}
141					c_value = unescape(c_value.substring(c_start, c_end));
142				}
143				return c_value;
144			},
145
146			createCookie : function(name, value, days) {
147				var expires;
148				if (days) {
149					var date = new Date();
150					date.setTime(date.getTime()+(days*24*60*60*1000));
151					expires = "; expires="+date.toGMTString();
152				}
153				else {
154					expires = "";
155				}
156				document.cookie = name+"="+value+expires+"; path=/";
157			},
158
159			deleteCookie : function( name ) {
160				document.cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/;";
161			},
162
163			initialize_last_viewed_globals : function(){
164				var cookie = this.getCookie('ifso_last_viewed');
165				try{
166					var cookieObj = JSON.parse(cookie);
167					ifso_viewed_triggers = cookieObj;
168				}
169				catch(err){console.log('ERR! ' + err)}
170			},
171
172			ifso_analytics_do_conversion : function(allowed,disallowed){
173				var allowed_triggers = allowed!=null ? decodeURIComponent(allowed) : false;
174				var disallowed_triggers = disallowed ? decodeURIComponent(disallowed) : false;
175				var params = {an_action:'doConversion',postid:666, data:JSON.stringify(ifso_viewed_triggers)};
176				if(allowed_triggers) params['allowed'] = allowed_triggers;
177				if(disallowed_triggers) params['disallowed'] = disallowed_triggers;
178				this.sendAjaxReq('ifso_analytics_req',params, function(){});
179			}
180		};
181
182		var ifso_public_instance = new if_so_public();
183
184		ifso_public_instance.replaceLoadLaterTriggers(false);
185		var replace_defered  = function(){
186			ifso_public_instance.replaceLoadLaterTriggers(true);
187			$(document).unbind("click keydown keyup mousemove",replace_defered);
188		};
189		$(document).on('click keydown keyup mousemove',replace_defered);
190		ifso_public_instance.replaceStandaloneConditions();
191		$(document).on('ifso_ajax_conditions_loaded',ifso_public_instance.replaceStandaloneConditions.bind(ifso_public_instance));
192
193
194		if(isPageVisitedOn || isVisitCountEnabled){	//Passed form if-so public
195			ifso_public_instance.sendAjaxReq('ifso_add_page_visit', {ifso_count_visit:parseInt(isVisitCountEnabled),isfo_save_page_visit:parseInt(isPageVisitedOn)}, function(response){});
196		}
197
198		if(isAnalyticsOn){	//Passed from if-so public
199			ifso_public_instance.initialize_last_viewed_globals();
200			if(ifso_public_instance.getCookie('ifso_viewing_triggers')) ifso_public_instance.sendAjaxReq('ifso_anal
200ytics_req',{postid:666,an_action:'ajaxViews',data:ifso_public_instance.getCookie('ifso_viewing_triggers') });
201
202			if($('.ifso-conversion-complete').length>0){
203				var allowed =[];
204				var disallowed = [];
205				var doAll = false;
206				$.each($('.ifso-conversion-complete'),function(key,value){
207					var allowed_here = value.getAttribute('allowed_triggers');
208					var disallowed_here = value.getAttribute('disallowed_triggers');
209					if(allowed_here!=null && allowed_here != 'all'){
210						allowed_here = allowed_here.split(',');
211						allowed = allowed.concat(allowed_here);
212					}
213					else{
214						doAll = true;
215					}
216					if(disallowed_here!=null){
217						disallowed_here = disallowed_here.split(',');
218						disallowed = disallowed.concat(disallowed_here);
219					}
220				});
221				if(disallowed == []) disallowed = false;
222				if(doAll) ifso_public_instance.ifso_analytics_do_conversion(null,disallowed);
223				else ifso_public_instance.ifso_analytics_do_conversion(allowed,disallowed);
224			}
225		}
226
227
228		//Bounce mechanism - not in use for now
229		/*if(getCookie('ifso_bounce')){
230            sendAjaxReq('ifso_analytics_req',{an_action:'decrementField',postid:ifso_last_viewed_trigger.triggerid, versionid:ifso_last_viewed_trigger.versionid, field:'bounce'}, function(){
231                deleteCookie('ifso_bounce')
232            });
233        }
234		window.addEventListener('beforeunload',function(e){
235		    if(!getCookie('ifso_bounce')){
236				createCookie('ifso_bounce');
237                sendAjaxReq('ifso_analytics_req',{an_action:'incrementField',postid:ifso_last_viewed_trigger.triggerid, versionid:ifso_last_viewed_trigger.versionid, field:'bounce'}, function(){});
238            }
239
240		});*/
241
242
243	});
244
245})( jQuery );
246

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.