以前在公司负责广告这块,曾经研究过在Windows/Macintosh下的各种浏览器中的js运行效果,而总结出一些兼容函数。
用在公司网站上之后,没想到居然有幸被用户们拿去当成了范例(现在在网上搜 MK_pageX 应该能找到不少,其中 MK_ 是我的特征前缀,就是 Moky 的缩写,当时是为了避免和原有函数冲突而加的),哈哈~
可能和我一贯的编写代码原则有关吧:我一向坚持独立功能独立开发,只要不是特别复杂的东西,尽量不依赖于那些庞大的库。
我的本意是为了让代码更轻便,不过可能也正因为我的代码通常都很简单(而且我奉行 Internet Sharing 精神,从不刻意“保护”自己的代码),
所以比较适合用来教学。
既然如此,那我干脆就贴一份最原始的(我看到网上有一些已作了一点小改动,我不知道这样是否更利于学习),
权当是官方版本吧。呵呵
我们公司的web广告大体可以分为固定广告(通常是横幅、竖栏之类的iframe广告)和浮动广告(对联、边角漂浮等)。
固定广告没啥好说的,就是嵌个格子,只要把flash的兼容问题搞定就行了。
而浮动广告大同小异,关键是计算窗体大小以及元素坐标问题,最典型的应数对联广告和右下角浮动广告。
这里以对联广告为例:
这里的 DI_ 前缀是“对联”(Double Images)的意思,是为了避免和页面上其他类型广告代码冲突而加的前缀。
两个 $ 符号以及其中的字符串是模板变量标签,使用时请用程序替换成相应的值。
最后面那个 0x0 的 image 是监控用的,因为网站上页面很多,我们需要知道每一个广告是否被正确投放,
并且这个检查工作是由程序自动执行的。
需要说明的是:
该代码只有在浏览器窗口足够大的时候才呈现对联广告,目的是避免对联遮挡页面内容,影响用户体验。
另外,我还曾研究出如何令当时浏览器上流行的“屏蔽浮动广告”功能失效的办法,不过考虑到那样很伤害用户体验,
出于尊重用户的考虑,所以一直没用,也就不说了。