Dedecms实现15秒后再下载的功能修改方法


让下载者等候十五秒再下载,作用:增加广告点击

首先请大家注意:
1、本方案只适合提供单独下载地址,多个下载地址,本人没有测试,是否支持,不好说
2、在您决定使用本方案之前,请务必备份好您原来的模板,以防不测。
2.5、确保您在dede后台中的  软件频道设置里已经将链接显示方式设置为:要求进入下载地址列表页;附件下载方式设置为链接到跳转页面.
3、本方案产生的任何后果,均与本人无关。本人仅做技术方面的探讨。
4、如果你同意已上条款,请follow me

其实,功能的实现很简单,只需要三个步骤就可以了。

第一步:
打开:templets/plus/download_links_templet.htm
在模板的<head></head>头部代码中增加以下代码

Copy to ClipboardLiehuo.Net Codes引用的内容:[www.dede58.com]
<script type="text/javascript"> 
var lang = new Array(); 
var userAgent = navigator.userAgent.toLowerCase(); 
var is_opera = userAgent.indexOf('opera') != -1 && opera.version(); 
var is_moz = (navigator.product == 'Gecko') && userAgent.substr(userAgent.indexOf('firefox') + 8, 3); 
var is_ie = (userAgent.indexOf('msie') != -1 && !is_opera) && userAgent.substr(userAgent.indexOf('msie') + 5, 3); 

function $(id) { 
return document.getElementById(id); 
} 

Array.prototype.push = function(value) { 
this[this.length] = value; 
return this.length; 
} 
</script> 

然后
将调用下载地址的代码:

Copy to Clipboard
引用的内容:[www.dede58.com] <?php echo $downlinks; ?>

修改成:

Copy to ClipboardLiehuo.Net Codes引用的内容:[www.dede58.com]
<script type="text/javascript"> 
var secs = 15; 
var wait = secs * 1000; 
$('rulebutton').innerHTML = "请您耐心的等待15秒钟 剩余时间:" + secs + "秒"; 
for(i = 1; i <= secs; i++) { 
window.setTimeout("update(" + i + ")", i * 1000); 
} 
window.setTimeout("timer()", wait); 
function update(num, value) { 
if(num == (wait/1000)) { 
$('rulebutton').innerHTML = "请您耐心的等待15秒钟"; 
} else { 
printnr = (wait / 1000) - num; 
$('rulebutton').innerHTML = "请您耐心的等待15秒钟 剩余时间 :" + printnr + "秒"; 
} 
} 
function timer() { 
$('rulebutton').innerHTML = '让您久等了,请<?php echo $downlinks; ?>'; 
} 
</script>

保存并上传
第二步:
打开:templets/system/channel_downlinks.htm
将里面的代码改成:

Copy to Clipboard
引用的内容:[www.dede58.com] <button type=”button” onclick=”location.href=\’~link~\'”>立即下载</button>

保存并上传
第三步,也是最重要的一步