自動生成廣告程式碼
阿新 • • 發佈:2019-02-02
1.根據廣告計劃表返回給客戶放在網站程式碼裡的指令碼,帶個id
<script src="http://192.168.199.137:8080/NetworkAllies/code/getAdverCode.do?id=04e5e1d1-8148-4402-8ff5-4f11652d2e47"></script>
2.當載入該網頁時去後臺查詢該id的物件,並返回動態指令碼及雲上的js檔案
@Controller @RequestMapping(value=RequestMappingConstants.CODE) public class GetAdverCodeController { @Autowired private TbAdvertisementPlanService tbAdvertisementPlanService; @RequestMapping(value = RequestMappingConstants.GETADVERCODE) @ResponseBody public String login(HttpServletRequest request,HttpServletResponse response,@RequestParam(value="id")String id) throws IOException{ TbAdvertisementPlan row = tbAdvertisementPlanService.getAdvertisementPlan(id); response.setContentType("text/html;charset=UTF-8"); response.setCharacterEncoding("UTF-8"); response.setHeader("Cache-Control", "no-cache"); PrintWriter out = response.getWriter(); out.println(" var yP_statsUrl='"+ row.getAdverTargetUrl()+"';"); out.println(" var yP_unionUrl='"+"www.fjs360.com"+"';"); out.println(" var yP_width="+row.getAdverWidth()+";"); out.println(" var yP_height="+row.getAdverHeight()+";"); out.println(" var yP_imgurl='"+row.getAdverImageFlashAbsolute()+"';"); out.println(" var yP_imgServer='"+"www.fjs360.com"+"';"); out.println(" var yP_planType='"+"cpv"+"';"); out.println(" var yP_tourl='"+row.getAdverTargetUrl()+"';"); //註釋轉義字元注意要點 out.println("document.write("+"\"<script src=\\\"http://"+"ou1hb9i4z.bkt.clouddn.com/adverShowJs.js\\\""+"></script>\""+");"); out.flush(); out.close(); out = null; return null; } }
3.adverShowJs檔案
var $dom={ ts : 0, adUrl : yP_statsUrl, adw : yP_width, adh : yP_height, Ie :(navigator.appName == "Microsoft Internet Explorer"), g : function(){ var d = document.body;e=document.documentElement; if(document.compatMode=="BackCompat"){ //BackCompat:標準相容模式關閉。 CSS1Compat:標準相容模式開啟。 獲取不同模式下瀏覽器的寬高等元素 this.w=d.clientWidth; this.h=d.clientHeight; this.l=d.scrollLeft; this.t=d.scrollTop; }else { this.w=e.clientWidth; this.h=e.clientHeight; this.l=e.scrollLeft==0?d.scrollLeft:e.scrollLeft; this.t=e.scrollTop==0?d.scrollTop:e.scrollTop; }; }, c : function (){ var yP_fileext=yP_imgurl.substr(yP_imgurl.lastIndexOf(".")).toLowerCase(); //從最後一個.開始擷取,轉換小寫 var doc=document; this.popup = doc.createElement("div"); //建立div s = this.popup.style; s.overflow = "hidden"; //內容會被修剪,並且其餘內容是不可見的。 s.position = "absolute"; s.zIndex = 1000000; s.width = (this.adw+8)+"px"; s.height = (this.adh+34)+"px"; s.border= 0; s.textAlign='left'; if(yP_fileext!='.swf'){ if(yP_planType=='cpv') { this.stra = "<a target='_blank' href="+yP_tourl+" onclick='$dom.uc()'><img src='"+yP_imgurl+"' border='0' width='"+(this.adw)+"' height='"+(this.adh)+"'></a>"; }else{ this.stra = "<a target='_blank' href="+this.adUrl+" onclick='_zh_(event)' onmouseover='_zv_();_zn_(event);_zt_(event)' onmousedown='_zc_(event)' onmouseup='_zc_(event)'><img src='"+yP_imgurl+"' border='0' width='"+(this.adw)+"' height='"+(this.adh)+"'></a>"; } yP_C_zy_str="<table width='"+(this.adw+4)+"' height='"+(this.adh+4)+"' border='0'cellpadding='0' cellspacing='0' style=' border:4px solid #A52911'><tr><td height='25' bgcolor='#A52911'><div style='background-image: url("+yP_imgServer+"/images/copy.png);*background-image:none;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="+yP_imgServer+"/images/copy.png);background-repeat:no-repeat;height:25px;width:90px;'><a href='http://"+yP_unionUrl+"' target='_blank' style='height:25px;width:90px;display:block;'></a></div></td></tr><tr><td>"+this.stra+"</td></tr></table>"; }else { //視訊? if(yP_planType=='cpv') { this.stra = "<a target='_blank' href="+yP_tourl+" onclick='$dom.uc()'>"; }else{ this.stra = "<a target='_blank' href="+this.adUrl+" onclick='_zh_(event)' onmouseover='_zv_();_zn_(event);_zt_(event)' onmousedown='_zc_(event)' onmouseup='_zc_(event)'>"; } dL_flash = this.F("pf_123",yP_imgurl, this.adw, this.adh); yP_C_zy_str="<table width='"+(this.adw+4)+"' height='"+(this.adh+4)+"' border='0' cellpadding='0' cellspacing='0' style=' border:4px solid #A52911'><tr><td height='25' bgcolor='#A52911'><div style='background-image: url("+yP_imgServer+"/images/copy.png);*background-image:none;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="+yP_imgServer+"/images/copy.png);background-repeat:no-repeat;height:25px;width:90px;'><a href='http://"+yP_unionUrl+"' target='_blank' style='height:25px;width:90px;display:block;'></a></div></td></tr><tr><td>"+this.stra+"<div style='cursor:pointer;z-index:100000;position:absolute;height:"+this.adh+"px;width:"+this.adw+"px;background-color:#fff;opacity:0.01;filter:alpha(opacity:1);'></div></a><div style=' z-index:9999;cursor:pointer;text-align:center' >"+dL_flash+"</div></td></tr></table>"; } this.popup.innerHTML='<span style="position:absolute;top:2px;right:12px;cursor:pointer;;z-index:111;font-size:16px;color:#ffffff" onclick="$dom.hi()">x</span>'+yP_C_zy_str+''; //拼接div s.display="none"; if(this.Ie) {document.body.insertBefore(this.popup) ;} else {document.body.appendChild(this.popup);} }, hi : function(){ clearInterval($dom.sI); document.body.removeChild(this.popup); //DIV隱藏 }, s : function (){ clearInterval($dom.zy); //清除週期性執行的程式碼 setTimeout(function(){$dom.r();},50); //50ms後執行r方法 }, r: function (){ $dom.c(); $dom.sI=setInterval(function(){$dom.m();},10); //獲取此週期執行ID以便結束該迴圈 根據滾動條時時 }, m: function (){ $dom.g(); //獲取瀏覽器屬性 this.popup.style.left=(this.w-this.adw+this.l-8)+"px"; this.popup.style.top=(this.h-this.ts+this.t-34)+"px"; this.popup.style.display=""; if(this.ts<this.adh){ this.ts+=7; if(this.ts>this.adh){ this.ts=this.adh; if(this.ts-10>this.adh) clearInterval($dom.sI); }; }; }, uc :function(){ //給瀏覽器快取一張圖片 a=new Image(); a.src=yp_doclick2url; }, t: function (){ if(window.attachEvent){ //監聽事件,視窗載入 非IE瀏覽器 window.attachEvent("onload",function (){$dom.s(); }); }else { window.addEventListener("load",function (){ //IE瀏覽器 $dom.s(); },true); } if(yP_planType=='cpv'){ //如果是cpv 5000ms後執行Va方法 setTimeout(function(){$dom.Va();},5000); } }, Va: function (){ if(document.body){ //body物件 zY_a=new Image(); zY_a.src=yP_statsUrl; //給瀏覽器快取一張圖片 } }, F : function(idad, swfurl, ws, hs) { var str = '<embed src="'+swfurl+'" type="application/x-shockwave-flash" height="'+hs+'" width="'+ws+'" id="'+idad+'" name="ZyadsFlashAd" quality="high" wmode="transparent" allownetworking="none" allowscriptaccess="always" >'; return str; } }; $dom.t();