Bacysoft.cn

 找回密码
 邀请注册
查看: 23179|回复: 1
打印 上一主题 下一主题

Discuz!X 对联广告在低分辨率下自动关闭的实现方法

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-18 17:51:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 bacy001 于 2014-2-22 14:19 编辑

一、修改对联广告类(本楼代码仅适用于X2版本,X2.5/X3/X3.1见二楼
文件名: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),函数代码如下:
  1. function checkResolution(id) {
  2.         //Defined by Bacysoft.cn
  3.         if(screen.width <= 1024) {
  4.                 document.getElementById(id).parentNode.style.display='none';
  5.         }
  6. }
复制代码
函数的功能是:先检查客户端分辨率,如果分辨率宽度小于等于1024像素,则不显示广告框。广告框有参数id指定。(注意:id不是广告框的ID,而是广告框所包含的关闭按钮的id)。

三、更新缓存,重新加载页面后,分辨率宽度低于或者等于1024像素的将不会显示对联广告!
沙发
 楼主| 发表于 2014-2-22 14:29:12 | 只看该作者
本帖最后由 bacy001 于 2014-2-22 14:40 编辑

X2.5/X3/X3.1 修改方法一样,原版代码位于 source/class/adv/adv_couplebanner.php 133行:
  1. $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];
复制代码
修改后的代码为:
  1. $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 修改方法同一楼。
您需要登录后才可以回帖 登录 | 邀请注册

本版积分规则



京ICP备08000958号-1|腾讯云|阿里云|联系方式|Bacysoft.cn

GMT+8, 2024-11-27 09:17 , Processed in 0.014159 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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