自动生成广告代码

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+" οnclick='$dom.uc()'><img src='"+yP_imgurl+"' border='0' width='"+(this.adw)+"' height='"+(this.adh)+"'></a>";
				}else{
					this.stra = "<a  target='_blank' href="+this.adUrl+" οnclick='_zh_(event)' οnmοuseοver='_zv_();_zn_(event);_zt_(event)' οnmοusedοwn='_zc_(event)'  οnmοuseup='_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+" οnclick='$dom.uc()'>";
				}else{
					this.stra = "<a  target='_blank' href="+this.adUrl+" οnclick='_zh_(event)' οnmοuseοver='_zv_();_zn_(event);_zt_(event)' οnmοusedοwn='_zc_(event)'  οnmοuseup='_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" οnclick="$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();



  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值