推荐应用
Discuz!X3.0 对联广告在低分辨率下自动关闭的实现方法 可用于X2.5/X2/X1.5
发布于 2013-07-11
使用对联广告的用户会发现,在低分辨率下,对联广告会挡住用户的实现,不利于用户的体验,虽然现在宽屏的用户越来越多,但是本着用户至上的原则,我们有必要判断低分辨率的用户后关闭对联广告。一、修改对联广告类
文件名:source/class/adv/adv_couplebanner.php
大约125行,原代码如下:
$adcode = empty($_G[\'cookie\'][\'adclose_\'.$coupleadid]) ? $codes[$coupleadid].\'\' : \'\';
修改为:$adcode = empty($_G[\'cookie\'][\'adclose_\'.$coupleadid]) ? \'\'.$codes[$coupleadid].\'\' : \'\';
主要修改了如下内容:1、将原广告框自带的“关闭”按钮由广告框的底部移动至广告框的顶部;
2、修改广告关闭后重新显示的时间为一小时,原代码为一天;
3、给关闭按钮所在的标签添加“id”,并调用 js 函数 checkResolution(id),参数是标签 的 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像素的将不会显示对联广告!