Bacysoft.cn
标题:
Discuz!X 对联广告在低分辨率下自动关闭的实现方法
[打印本页]
作者:
bacy001
时间:
2012-9-18 17:51
标题:
Discuz!X 对联广告在低分辨率下自动关闭的实现方法
本帖最后由 bacy001 于 2014-2-22 14:19 编辑
一、修改对联广告类(
本楼代码仅适用于X2版本,X2.5/X3/X3.1见二楼
)
文件名:source/class/adv/adv_couplebanner.php
大约125行,原代码如下:
$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>\' : \'\';
复制代码
修改成如下代码:
$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),函数代码如下:
function checkResolution(id) {
//Defined by Bacysoft.cn
if(screen.width <= 1024) {
document.getElementById(id).parentNode.style.display='none';
}
}
复制代码
函数的功能是:先检查客户端分辨率,如果分辨率宽度小于等于1024像素,则不显示广告框。广告框有参数id指定。(注意:id不是广告框的ID,而是广告框所包含的关闭按钮的id)。
三、更新缓存,重新加载页面后,分辨率宽度低于或者等于1024像素的将不会显示对联广告!
作者:
bacy001
时间:
2014-2-22 14:29
本帖最后由 bacy001 于 2014-2-22 14:40 编辑
X2.5/X3/X3.1
修改方法一样,原版代码位于 source/class/adv/adv_couplebanner.php 133行:
$adcode = empty($parameter[\'disableclose\']) ? (empty($_G[\'cookie\'][\'adclose_\'.$coupleadid]) ? $codes[$coupleadid].\'<br /><a href="javascript:;" onclick="setcookie(\\\'adclose_\'.$coupleadid.\'\\\', 1, 86400);this.parentNode.style.display=\\\'none\\\'"><img src="\'.STATICURL.\'image/common/ad_close.gif" /></a>\' : \'\') : $codes[$coupleadid];
复制代码
修改后的代码为:
$adcode = empty($parameter[\'disableclose\']) ? (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><br />\'.$codes[$coupleadid].\'<script type="text/javascript">checkResolution("bacysoft_\'.$coupleadid.\'");</script>\' : \'\') : $codes[$coupleadid];
复制代码
common.js 修改方法同一楼。
欢迎光临 Bacysoft.cn (http://bacysoft.cn/)
Powered by Discuz! X3.3