Discuz教程网

[代码修改] Discuz X2对联广告在低分辨率下自动关闭的实现方法

[复制链接]
authicon dly 发表于 2013-3-28 10:10:26 | 显示全部楼层 |阅读模式
一、修改对联广告类
文件名:source/class/adv/adv_couplebanner.php
大约125行,原代码如下:
  1. $adcode = empty($_G['cookie']['adclose_'.$coupleadid]) ? $codes[$coupleadid].'<a href="javascript:;" onclick="setcookie('adclose_'.$coupleadid.'', 1, 86400);this.parentNode.style.display='none'"><img src="'.STATICURL.'image/common/ad_close.gif" /></a>' : '';
复制代码

修改成如下代码:
  1. $adcode = empty($_G['cookie']['adclose_'.$coupleadid]) ? '<a id="bacysoft_'.$coupleadid.'"; href="javascript:;" onclick="setcookie('adclose_'.$coupleadid.'', 1, 3600);this.parentNode.style.display='none'"><img src="'.STATICURL.'image/common/ad_close.gif" /></a>'.$codes[$coupleadid].'<script type="text/javascript">checkResolution("bacysoft_'.$coupleadid.'");</script>' : '';
复制代码
主要修改了如下内容:
1、将原广告框自带的“关闭”按钮由广告框的底部移动至广告框的顶部;
2、修改广告关闭后重新显示的时间为一小时,原代码为一天;
3、给关闭按钮所在的<a>标签添加“id”,并调用 js 函数 checkResolution(id),参数是标签 <a> 的 id 号。

二、修改全局 common.js 文件
文件名:static/js/common.js
在大约2025行的位置,即函数:smilies_show 之后添加自定义函数:checkResolution(id),函数代码如下:
游客,如果您要查看本帖隐藏内容请回复
函数的功能是:先检查客户端分辨率,如果分辨率宽度小于等于1024像素,则不显示广告框。广告框有参数id指定。(注意:id不是广告框的ID,而是广告框所包含的关闭按钮的id)。

三、更新缓存,重新加载页面后,分辨率宽度低于或者等于1024像素的将不会显示对联广告!

示例网站:本站!您可以更换分辨率来测试,分辨率低于1024的用户,将看不到本站的对联广告!



上一篇:1314学习网签到记录贴-2013年3月28日
下一篇:去掉Discuz X2的“快捷导航”菜单
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2025-5-4 05:39

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表