DEDECMS代码中文章踩一下,顶一下用什么代码?如下:我用了这段代码为什么不起作用?
那个 j 从当前代码来说是可以没有的,之所以有这个 j 是因为这段代码写的很烂。
aid 是当前帖子的id
saveid 是已经顶过帖子的id,以逗号隔开。例如:1,2,3,4,5
他想通过cookie记录当前用户已经顶过帖子的id,然后根据aid来判断是否顶过了,顶过了就提示,否则就顶贴,并把当前aid加入到cookie里面。
他这个如果不在digg_ajaxphp里面做是否顶过贴的判断,用户清除了cookie这代码会出bug。
这种东西后端也必须判断。
从代码上来看,应该不能取消顶贴,否则他这个就有bug了,中间的continue之类的东西写的太烂了导致你看不懂,我给你改进一下代码,你就懂了,其实根本不需要那么复杂
function postDigg(ftype, aid) {var taget_obj = documentgetElementById('newdigg');
var saveid = GetCookie('diggid');
//如果saveid是null 则把他变为一个空字符串
saveid = typeof saveid == "string" saveid : "";
var saveids = saveidsplit(',');
for(var i = saveidslength - 1; i >= 0; i--) {
if(saveids[i] == aid) {
//如果cookie存的id里面有,说明已经赞过了
alert("您已经顶过该帖,请不要重复顶帖 !");
//return就可以退出方法了
return;
}
}
//将新的aid加入到saveids里面
saveidspush(aid);
//将新的saveid写入cookie
SetCookie('diggid', saveidsjoin(","), 1);
myajax = new DedeAjax(taget_obj, false, false, '', '', '');
var url = "{dede:globalcfg_phpurl/}/digg_ajaxphpaction=" + ftype + "&id=" + aid;
myajaxSendGet2(url);
}
网站在搬家的时候,数据库还原可能有问题。
你去DEDECMS网,看一下网站搬家具体操作方法,严格按照步骤一步一步来操作。
不建议使用一些第三方备份还原程序进行操作。
按理说你复制来的代码应该是有效的,看代码调用了一个javascript方法,是不是javascript文件没有加载完整?
这是我调用的方法:
HTML部分:
<div class="newdigg" id="newdigg"><div class="diggbox digg_good" onmousemove="thisstylebackgroundPosition='left bottom';" onmouseout="thisstylebackgroundPosition='left top';" onclick="javascript:postDigg('good',38)">
<div class="digg_act">顶一下</div>
<div class="digg_num">(0)</div>
<div class="digg_percent">
<div class="digg_percent_bar"><span style="width:0%"></span></div>
<div class="digg_percent_num">0%</div>
</div>
</div>
<div class="diggbox digg_bad" onmousemove="thisstylebackgroundPosition='right bottom';" onmouseout="thisstylebackgroundPosition='right top';" onclick="javascript:postDigg('bad',38)">
<div class="digg_act">踩一下</div>
<div class="digg_num">(0)</div>
<div class="digg_percent">
<div class="digg_percent_bar"><span style="width:0%"></span></div>
<div class="digg_percent_num">0%</div>
</div>
</div>
</div>
<script language="javascript">getDigg(38);</script>
JS部分:
function postDigg(ftype,aid){
var taget_obj = documentgetElementById('newdigg');
var saveid = GetCookie('diggid');
if(saveid != null)
{
var saveids = saveidsplit(',');
var hasid = false;
saveid = '';
j = 1;
for(i=saveidslength-1;i>=0;i--)
{
if(saveids[i]==aid && hasid) continue;
else {
if(saveids[i]==aid && !hasid) hasid = true;
saveid += (saveid=='' saveids[i] : ','+saveids[i]);
j++;
if(j==20 && hasid) break;
if(j==19 && !hasid) break;
}
}
if(hasid) { alert("您已经顶过该帖,请不要重复顶帖 !"); return; }
else saveid += ','+aid;
SetCookie('diggid',saveid,1);
}
else
{
SetCookie('diggid',aid,1);
}
myajax = new DedeAjax(taget_obj,false,false,'','','');
var url = "/plus/digg_ajaxphpaction="+ftype+"&id="+aid;
myajaxSendGet2(url);
DedeXHTTP = null;
}
function getDigg(aid)
{
var taget_obj = documentgetElementById('newdigg');
myajax = new DedeAjax(taget_obj,false,false,'','','');
myajaxSendGet2("/plus/digg_ajaxphpid="+aid);
DedeXHTTP = null;
}
确保加载了JS文件:
<script language="javascript" type="text/javascript" src="/include/dedeajax2js"></script>
0条评论