PageSourceSearch

http://hs.cnfol.com/tui/gainTheAd.js

js cnfol.com collected 2026-10-02 04:03:31 UTC 12,967 bytes, 461 lines download raw bytes

1//getTheAd();  
2var ggurl="";
3function getTheAd(){
4	//alert("手机端测试!!!!");
5	//setCookie("lilong2","lilong","1S");
6	checkAndClearCookie();
7	var nodes=document.getElementsByTagName('*');
8	var k=0;
9	var pos=new Array();
10	for(var i=0;i<nodes.length;i++){
11		if(nodes[i].id&&nodes[i].id.length>10&&nodes[i].id.substr(0,10)=='adposition'){
12			//alert("name:::"+nodes[i].id);
13			var ggw=nodes[i].id;
14		      //ggw=ggw.substr(11,2);
15			ggw=ggw.substr(11,(ggw.length-11));
16			try {  
17   			ggurl = document.getElementById('adpym__'+ggw).value;
18    			}catch (e){  
19      			ggurl="http://tui.3g.cnfol.com/adempty/"; 
20  			 } 
21			
22		
23			//alert("检测到广告位:"+ggw);
24			pos[k]=ggw;
25			k++;
26		}
27	}
28	for(var j=0;j<pos.length;j++){
29		getValue(pos[j]);
30	}
31}
32//获取有效广告id
33function getTheAdId(ars,list,flag){
34	 var ids='';
35	for(var i=0;i<list.length;i++){
36		var adid=list[i].adId;//广告id
37		//alert("当前接口传入list的adid:"+adid);
38		/**
39		 * 过滤ip的相关代码=======================================
40		 */
41		if(!flag){//flag为true时不作地域检查
42		var area=list[i].area;
43		//alert("area::::"+area+"   ars::"+ars);
44		//alert("area.indexOf(ars):::::"+area.indexOf(ars));
45		//alert("area.length:::"+area.split("、").length);
46		if(!(ars==''||area.indexOf(ars.substr(0,2))>0)) break;
47		}
48		var adcoo=getCookie("ad_"+adid);
49		//alert("获取cookie为:"+adcoo);
50		if(adcoo!=null&&adcoo!=''){
51			var callerinstall=list[i].callerinstall;//每个人访问量限制参数
52			var caller= callerinstall.split(";;");
53			if(caller[0]!='-1'&&!checkCookies(adcoo, caller[0], 1)) break;
54			if(caller[1]!='-1'&&!checkCookies(adcoo, caller[1],2)) break;
55			if(caller[2]!='-1'&&!checkCookies(adcoo, caller[2], 3)) break;
56		}
57		ids+=adid+","+list[i].level+";";
58		//alert("ids::::::"+ids);
59	}
60	return getThemostAd(ids);
61}
62	//js判断优先级 做随机挑选
63	function getThemostAd(ids){
64		var li=ids.split(";");
65		var max=li[0].split(",")[1];
66		var px='';
67	 for ( var i = 0; i < li.length; i++) {
68		if(li[i]!=''){
69			var level=li[i].split(",")[1];
70			 if(level==max){
71				 px+=li[i]+";";
72			 }
73		}
74	 }
75	 var i= Math.floor(Math.random()*(px.split(";").length-1));
76	// alert("random后 i::::"+i+"   zhi::::"+px.split(";")[i].split(",")[0]);
77	 return px.split(";")[i].split(",")[0];
78}
79
80//cookie里面查询当前广告数是否多了,true表示当前广告数少于限制数
81function checkCookies(cook,para,index){
82	var now= Date.parse(new Date());
83	if(index==1){
84		now-=1000*60*60*24;
85	}else if(index==2){
86		now-=1000*60*60;
87	}else{
88		now-=1000*60;
89	}
90	//alert("cook::::"+cook);
91	var ck= cook.split(",");
92	//alert("ck.length::::"+ck.length);
93	var i=0;
94	for(;i<ck.length;){
95		//alert(" ck[i]:::"+ck[i]+"   now::::"+now);
96		if(parseInt(ck[i])>now) break;
97		i++;
98	}
99	var len=ck.length-i;
100	//alert("index="+index+"    限定值::::"+para+"    总计访问次数:"+len);
101	if(len>=para){
102		return false;
103	}
104	return true;
105}
106//获取指定名称的cookie
107function getCookie(name){ 
108	var strCookie=document.cookie; 
109	var arrCookie=strCookie.split("; "); 
110	for(var i=0;i<arrCookie.length;i++){ 
111	var arr=arrCookie[i].split("="); 
112	if(arr[0]==name)return arr[1]; 
113	} 
114	return ""; 
115}
116function checkAndClearCookie(){
117	var strCookie=document.cookie; 
118	var arrCookie=strCookie.split("; "); 
119	var cookieNameFlag=false;
120	for(var i=0;i<arrCookie.length;i++){ 
121		
122		var arr=arrCookie[i].split("="); 
123		//alert("arr[0]::::"+arr[0]);
124		//alert("arr[0].indexOf('ad_')::::::"+arr[0].indexOf('ad_'));
125		
126		if(arr[0].indexOf('ad_')!=-1){
127			var cookies=arr[1];
128			if(cookies!=null&&cookies!=''){
129			var newcook='';
130			var cooks=cookies.split(",");
131			for ( var j=0;j<cooks.length-1;j++) {
132			 if(parseInt(cooks[j])>Date.parse(new Date())-1000*60*60*24){
133				 newcook=newcook+cooks[j]+",";
134			 }	
135			}
136			if(newcook!=''){
137				document.cookie =arr[0]+"="+newcook;
138			}else{
139				document.cookie =arr[0]+"=''";
140				delCookie(arr[0]);
141			}
142			}
143		} 
144		if(arr[0]=='cookieNameFlag'){
145			cookieNameFlag=true;
146		}
147	} 
148	//写cookie,作标识
149	if(!cookieNameFlag){
150		document.cookie ="cookieNameFlag="+uuid();
151	}
152}
153function delCookie(name)//删除cookie 
154{ 
155    var exp = new Date(); 
156    exp.setTime(exp.getTime() - 1); 
157    var cval=getCookie(name); 
158    if(cval!=null) document.cookie= name + "="+cval+";expires="+exp.toGMTString(); 
159} 
160function writeCookie(adid){
161		var adcoo=getCookie("ad_"+adid);
162		if(adcoo==null||adcoo==''){
163			adcoo=Date.parse(new Date());
164		}else{
165		adcoo=adcoo+","+Date.parse(new Date());
166		}
167		document.cookie ="ad_"+adid+"="+adcoo;
168		//setCookie("ad_"+adid,adcoo,"s20");
169		//alert("写ccokie:::ad_"+adid+"="+adcoo);
170}
171function setCookie(name,value,time)
172{ 
173    var strsec = getsec(time); 
174    var exp = new Date(); 
175    exp.setTime(exp.getTime() + strsec*1); 
176    document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString(); 
177} 
178function getValue(id){
179	var htm='';
180	var url=ggurl+"gainTheAd?id="+id+"&callback=?";
181	 $.ajax({
182	        url : url,
183	        type : "post",
184	        dataType : "json",  
185	        success : function(result) {
186	        	//alert("进入第二部!!!"+result);
187	        	if(result!=null&&result.length>0){
188	        		var flag=true;
189	        		for(var i=0;i<result.length;i++){
190						/*var arr = result[i];
191						for(var v in arr){
192							alert(v+'-----'+arr[v]);
193						}*/
194	        			if(result==''||result[i].area.split("、").length<33){
195	        				flag=false;
196	        				break;
197	        			}
198	        		}
199					
200	        		getAreaFromip(result,id,flag);
201	        	}else{
202	        		//处理广告位空闲时的方案
203	        		whenAdpEmpty(id);
204	        	}
205	        }
206	     });
207	}
208
209//广告位空闲的处理方式
210function whenAdpEmpty(id){
211	var url=ggurl+"getEmptyAdp?adpId="+id+"&callback=?";
212	 $.ajax({
213	        url : url,
214	        type : "post",
215	        dataType : "json",  
216	        success : function(result) {
217	        	if(result!=null){
218	        		if(result.length==1&&result=='4'){//隐藏广告位
219	        			document.getElementById('adposition_'+id).style.display = "none";
220	        		}else{
221	        			/*var ff=result.split(";");*/
222						var ff=result;
223	        			if(ff[0]=='2'){//展示最后投放的一条广告
224		        			var input = document.createElement("script"); 
225		        			input.setAttribute("type", "text/javascript");
226		        			input.setAttribute("src", "http://hs.cnfol.com/tui/testjs/ad_"+ff[1]+".js?<%=System.currentTimeMillis()%>"); 
227		        			document.getElementById('adposition_'+id).appendChild(input);
228		        		}else if(ff[0]=='3'){//填充一张图片
229		        			var w= document.getElementById("addiv_"+id).offsetWidth;
230		        			var h=document.getElementById("addiv_"+id).offsetHeight;
231		        			var con=' <img alt=""  width="'+w+'" height="'+h+'" src="'+ff[1]+'">';
232		        			document.getElementById("addiv_"+id).innerHTML = con;
233		        		}
234	        		}
235	        	}
236	        }
237	     });
238}
239function phoneType(typeStr){
240	var flag = true,
241	hasTouch = ("createTouch" in document) || ('ontouchstart' in window);
242	if(hasTouch){
243		var u = navigator.userAgent, 
244		isAndroid = u.indexOf('Andr oid') > -1 || u.indexOf('Linux') > -1,  //android终端 
245		isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
246		if(typeStr == ''){
247			flag = true;
248		}else{
249			if(isAndroid){
250				var reg = /2/;
251				if(reg.test(typeStr)){
252					flag = true;
253				}else{
254					flag = false;
255				}
256			}
257			if(isiOS){
258				var reg = /1/;
259				if(reg.test(typeStr)){
260					flag = true;
261				}else{
262					flag = false;
263				}
264			}
265			if(!isAndroid&&!isiOS){
266				var reg = /3/
267				if(reg.test(typeStr)){
268					flag = true;
269				}else{
270					flag = false;
271				}
272			}
273		}
274	}else{
275		if(typeStr == ''){
276			flag = true;
277		}else{
278			flag = false;
279		}
280	}
281	return flag;
282}
283function getAreaFromip(list,id,flag){
284	//alert("list::length::"+list.length);
285	var htm='';
286	var sysFlag = phoneType((typeof list[0]['sysType'] == 'undefined'?'':list[0]['sysType']));
287	//无需限制地域
288	//if(flag){
289		
290		if(sysFlag){
291			//alert("无需地域限制");
292			htm=getTheAdId('',list,flag);
293			//alert("广告位id:"+id+"  广告Id:"+htm);
294			if(htm!=null&&htm!=''&&htm!=0){
295				var input = document.createElement("script"); 
296				input.setAttribute("type", "text/javascript");
297				input.setAttribute("src", "http://hs.cnfol.com/tui/testjs/ad_"+htm+".js"); 
298				document.getElementById('adposition_'+id).appendChild(input);
299			}else{
300				//处理广告位空闲时的方案
301				whenAdpEmpty(id);
302			}
303		}else{
304			//处理广告位空闲时的方案
305			whenAdpEmpty(id);
306		}
307	/*}else{//限制地域
308		if(sysFlag){
309			//alert("有地域限制");
310			var url=ggurl+"getProvinceFromip?&callback=?";
311			$.ajax({
312				url : url,
313				type : "post",
314				dataType : "json",  
315				success : function(result) {
316					//alert("result:::"+result[0]);
317				 htm=getTheAdId(result[0],list,flag);
318			  // alert("广告位id:"+id+"  广告Id:"+htm);
319				 if(htm!=null&&htm!=''&&htm!=0){
320					 var input = document.createElement("script"); 
321						input.setAttribute("type", "text/javascript");
322						input.setAttribute("src", "http://hs.cnfol.com/tui/testjs/ad_"+htm+".js"); 
323						document.getElementById('adposition_'+id).appendChild(input);
324					}else{
325						//处理广告位空闲时的方案
326						whenAdpEmpty(id);
327					}
328				}
329			 });
330		}else{
331			//处理广告位空闲时的方案
332			whenAdpEmpty(id);
333		}
334	}*/
335	
336}
337//检测投放时间,判断当前广告是否显示
338function cheackTheirTime(theirTime){
339	var flag=0;
340	var v2=theirTime.split("```");
341	for(var m=0;m<v2.length-1;m++){
342		//alert("进入3层循环");
343		var date1=v2[m].split(";")[0];
344		var date2=v2[m].split(";")[1];
345		var staus=v2[m].split(";")[2];
346		if(isin(date1,date2,staus)){
347			flag=1;
348			break;
349		}
350	}
351	//alert("flag::::"+flag);
352	if(flag==1){
353		return true;
354	}else{
355		return false;
356	}
357}
358
359//获取在时间内的广告素材 返回数组
360function choseForder(t2,adId,userId){
361	//alert("进入素材挑选"+t2);
362	var t1=new Array(); 
363	var k=0;
364	for(var i=0;i<t2.length;i++){
365		if(t2[i].length<8){
366			t1[k]=t2[i].split("^")[0];
367			k++;
368		}else{
369			var fid=t2[i].split("^")[0];
370			var fla=t2[i].split("^")[1];
371			var fva=t2[i].split("^")[2];
372			var v2=fva.split("```");
373			for(var m=0;m<v2.length;m++){
374				//alert("进入3层循环");
375				var date1=v2[m].split(";")[0];
376				var date2=v2[m].split(";")[1];
377				var staus=v2[m].split(";")[2];
378				//alert(date1+" date2:");
379				//alert("挑选:"+isin(date1,date2,staus));
380				//alert("fla::"+fla);
381				if(fla==1&&isin(date1,date2,staus)){
382					//alert("素材被选中,id::"+fid);
383					t1[k]=fid;
384					//alert("succsess!!"+t1[k]);
385					k++;
386				}
387			}
388		}
389	}
390	var ran= parseInt((t1.length)*Math.random());
391	var fid=t1[ran];
392	//alert("fid::::::::::::::::::::"+fid);
393	addFordertj(fid,adId,userId);
394	//写cookie
395	writeCookie(adId);
396	return fid;
397}
398function addFordertj(fid,adId,userId){
399		
400		//var url=ggurl+"adshowTj?fid="+fid+"&adId="+adId+"&&callback=?";
401	var url=ggurl+"adshowTj?fid="+fid+"&userId="+userId+"&adId="+adId+"&&callback=?";
402
403		 $.ajax({
404		        url : url,
405		        type : "post",
406		        dataType : "json",  
407		        success : function(result) {
408
409		        }
410		     });
411}
412
413//判断时间是否在范围内
414function isin(d1,d2,s){
415	//alert("d1:::"+d1+"   d2:::::"+d2+"  s:::"+s);
416	if(d1.length<5){
417		return true;
418	}
419	var timestamp = Date.parse(new Date());
420	var we=new Date().getDay();
421	var ts1=transdate(d1);
422	if(d2.length>5){
423		var ts2=transdate(d2);
424		
425		if(timestamp>=ts1&&timestamp<ts2&&(s==0||(s==1&&(we==6||we==7))||(s==2&&(we>=1&&we<=5)))){
426			return true;
427		}else{
428			return false;
429		}
430	}else{
431		if(timestamp>=ts1&&(s==0||(s==1&&(we==6||we==7))||(s==2&&(we>=1&&we<=5)))){
432			return true;
433		}else{
434			return false;
435		}
436	}
437}
438//时间转换成时间戳
439function transdate(time){
440	var date=new Date();
441	date.setFullYear(time.substring(0,4));
442	date.setMonth(time.substring(5,7)-1);
443	date.setDate(time.substring(8,10));
444	date.setHours(time.substring(11,13));
445	date.setMinutes(time.substring(14,16));
446	date.setSeconds(time.substring(17,19));
447	return Date.parse(date);
448}
449function uuid() {
450	var s = [];
451	var hexDigits = "0123456789abcdef";
452	for (var i = 0; i < 36; i++) {
453	s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
454	}
455	s[14] = "4"; // bits 12-15 of the time_hi_and_version field to 0010
456	s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1); // bits 6-7 of the clock_seq_hi_and_reserved to 01
457	s[8] = s[13] = s[18] = s[23] = "-";
458
459	var uuid = s.join("");
460	return uuid;
461	}

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.