目前我迫切需要关注一种sohu弹窗广告(它们叫做背投广告)的实现方法,为此对其源码做了研究。

目前打开搜狐新闻主页

http://news.sohu.com

就会自动弹出一个背投广告。

这种背投广告的js为如下代码

<script type="text/javascript" src="http://images.sohu.com/bill/s2013/yingliu/test/adm2013_beitoufix.js"></script>

它定义了几个需要用到的函数,比如pop_window等,用来生成一段含有iframe标签的html代码,但是它的调用是在该js文件的外部,也就是html中的尾部附近,如下:

AD = new ADM("BEITOU", 4);
AD.turns=2;AD.src=[];
//AD.src.push("http://images.sohu.com/cs/button/zhilian/2007/fr7604800913.html");
AD.src.push("http://images.sohu.com/bill/s2014/xiaoluanhao/VIP/0312vipbt.html");
AddSchedule(AD);

为了使用ADM对象和AddSchedule函数,你需要在前面再加上一个如下的js脚本

<Script language="Javascript" src="http://images.sohu.com/bill/s2013/PVJS/adm2013-20131114min.js"></Script>

下面我写一个demo来进行测试,代码如下

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>sohu背投广告测试</title>
</head>
<body>
<script src="http://www.sohu.com/sohuflash_1.js" type="text/javascript"></script>
<Script language="Javascript" src="http://images.sohu.com/bill/s2013/PVJS/adm2013-20131114min.js"></Script>
<script type="text/javascript" src="http://images.sohu.com/bill/s2013/yingliu/test/adm2013_beitoufix.js"></script>
<Script language="Javascript">
AD = new ADM("BEITOU", 4);
AD.turns=2;AD.src=[];
AD.src.push("http://images.sohu.com/cs/button/zhilian/2007/fr7604800913.html");
AD.src.push("http://images.sohu.com/bill/s2014/xiaoluanhao/VIP/0312vipbt.html");
AddSchedule(AD);
</script></body>
</html>

代码说明如下:

sohuflash_1.js是定义了Cookie对象等,adm2013-20131114min.js定义了ADM对象和AddSchedule函数,adm2013_beitoufix.js专门针对背投广告的效果定义了相关的函数。

真正投放广告的代码在一个单独的js中定义,投放广告的外链是html格式,也就是说,它是一个单独的网页,有iframe结构,和mop的广告是一样的形式,比如下面的代码

<html>
<head>
<script type="text/javascript" src="http://www.sohu.com/sohuflash_1.js"></script>
<title>SOHU AD</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0">
<table border=0 width=100% height=100%>
<tr><td align=center>
<div id="bt"></div>
</td></tr>
</table>
<script language="javascript">
<!--
var sohuFlash2 = new sohuFlash("http://images.sohu.com/cs/button/zhilian/2007/7604801012.swf", "POPUNDER", "760", "480", "7");
sohuFlash2.addVariable ("clickthru", "http://doc.go.sohu.com/200702/16767b2d178e00f1deff780e018d067c.php");
sohuFlash2.addParam("quality", "high");
sohuFlash2.addParam("wmode", "opaque");
sohuFlash2.write("bt");
blur();
-->
</script>
</body>
</html>

和下面的

<html>
<head>
<script type="text/javascript" src="http://www.sohu.com/sohuflash_1.js"></script>
<title>SOHU AD</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0">
<table border=0 width=100% height=100%>
<tr><td align=center>
<div id="bt"></div>
</td></tr>
</table>
<script language="javascript">
<!--
var sohuFlash2 = new sohuFlash("http://images.sohu.com/bill/s2014/xiaoluanhao/VIP/7604800312a.swf","_edda072510ef0d57e8117df63f28f594","760","480","7");
sohuFlash2.addParam("quality", "high");
sohuFlash2.addParam("wmode", "opaque");
sohuFlash2.addVariable("clickthru",escape("http://clk.optaim.com/event.ng/Type=click&FlightID=201402&TargetID=sohu&Values=edda0725,10ef0d57,e8117df6,3f28f594&AdID=2724535"));
if(typeof(document.pv)=='undefined') document.pv = new Array();var _a=new Image();var _b=new Image();
_a.src='http://alpha.brand.sogou.com/brand_pv?md5=edda072510ef0d57e8117df63f28f594';document.pv.push(_a);
_b.src='http://imp.optaim.com/201402/edda072510ef0d57e8117df63f28f594.php?a=99';document.pv.push(_b);
sohuFlash2.write("bt");
blur();
-->
</script>
</body>
</html>

这里sohuFlash中的第一个参数是广告内容的外链,_a.src广告详情的外链。这里加了两个广告,是为了每次访问交替播放的效果。

sohu广告js代码调研相关推荐

  1. html漂浮广告随页面移动代码,JS漂浮广告代码,慢慢漂移的广告JS代码

    JS漂浮广告代码,慢慢漂移的广告js代码,可以漂浮到任何位置,哈哈...直接贴代码,很简单. var xin = true, yin = true var step = 1 var delay = 5 ...

  2. 标准对联广告Js代码

    [size=medium]标准对联广告Js代码 用于门户网站两侧的"对联广告" [/size] <!DOCTYPE html PUBLIC "-//W3C//DTD ...

  3. 超级实用且不花哨的js代码大全

    事件源对象 event.srcElement.tagName event.srcElement.type 捕获释放 event.srcElement.setCapture();   event.src ...

  4. js 代码大全(各种方法、属性)

    事件源对象 event.srcElement.tagName event.srcElement.type 捕获释放 event.srcElement.setCapture();  event.srcE ...

  5. js代码大全(各种方法、属性)《转载》

    事件源对象 event.srcElement.tagName event.srcElement.type 捕获释放 event.srcElement.setCapture();  event.srcE ...

  6. (转)超级实用且不花哨的js代码大全

    事件源对象  event.srcElement.tagName  event.srcElement.type 捕获释放 event.srcElement.setCapture();   event.s ...

  7. JS代码大全 (都是网上看到 自己整理的)

    原文 JS代码大全 (都是网上看到 自己整理的) 事件源对象  event.srcElement.tagName  event.srcElement.type 捕获释放 event.srcElemen ...

  8. js底部广告飘窗代码

    介绍: js底部广告飘窗代码 里面有两个底部代码 一个飘窗 有需要得 自行下载 网盘下载地址: http://kekewangLuo.cc/zlzES5sgkQF 图片:

  9. js随机飘动的广告图片代码demo效果示例(整理)

    <!DOCTYPE html> <html><head><meta http-equiv="Content-Type" content=& ...

最新文章

  1. Tensorflow name_scope和variable_scope的用法
  2. 如何及时获得AI顶尖科研团队的最新论文与进展?只需要一份AI内参!
  3. 将py文件打包成exe可执行文件
  4. Spring Cloud构建微服务架构:服务注册与发现(Eureka、Consul)
  5. 关于Java的String字符串常量的长度问题(Error:(14, 22) java: 常量字符串过长)
  6. linux telnet命令不可用的解决办法
  7. java如何调用linux命令_java程序中如何调用linux命令
  8. 数据保密-第三代透明加密技术
  9. 【POJ 3623】 Best Cow Line, Gold (后缀数组)
  10. ad19pcb所有元件都在报错_AD09如何放置过孔阵列?Allegro PCB,元器件高度限制区域设置?...
  11. Java递归算法实例
  12. B站视频下载器推荐(简单又好用)
  13. 20本书让你迅速跟别人拉开差距
  14. nvm在c语言是什么意思的缩写,nvm是什么意思的缩写
  15. CodeForces869E The Untended Antiquity
  16. C# CultureInfo列表详细说明
  17. 实验室管理相关系统概念
  18. 补间动画 http://www.sunnyos.com/
  19. 奇虎360归程大起底:终极猎手露面 平行入股两大核心平台
  20. TK mybatis插件通用mapper与oracle的几个坑

热门文章

  1. BZOJ 1597: [Usaco2008 Mar]土地购买( dp + 斜率优化 )
  2. MVC页面加载速度优化小记
  3. linux7挂载ntfs分区,刚安装centos7,请教大神如何挂载ntfs的分区
  4. OpenCV+python:轮廓发现与对象测量
  5. FPGA设计细节和实现(初学者)
  6. uscao Mother's Milk
  7. 刷题:二叉树的非递归遍历方式
  8. π是无理数证明定积分_证明圆周率是无理数很容易?人类花了2000年!
  9. java regexp_java中使用regexp
  10. shell最大出现和连续出现次数_从 1 到 n 整数中 1 出现的次数