帝国cms计划任务执行 一次后不能重复执行解决办法
帝国cms 7.0,后台运行计划任务,执行一次之后,不能按照设置的时间重复执行,原因如下:
elseif($ecms=='retask') //运行计划任务
{
echo"<meta http-equiv="refresh" content="".$retasktime.";url=task.php?ecms=retask">"; //自动刷新本页面
?>
<script>
function AddTaskDiv(divid,taskid){
if(parent.document.getElementById(divid)!=null) //判断是否第一次执行
{
eval("parent."+divid+".location.href='task.php?ecms=dotask&id="+taskid+"';"); //问题所在,父窗口中有两个元素div 和iframe 的id均为divid,并且这种写法不被iframe支持。
解决办法:
修改代码如下:
<script>
function AddTaskDiv(divid,taskid){
if(parent.document.getElementById(divid)!=null)
{
//eval("parent."+divid+".location.href='task.php?ecms=dotask&id="+taskid+"';");
window.parent.document.getElementById(""+divid+"").src='task.php?ecms=dotask&id='+taskid+'';
}
else
{
window.parent.document.getElementById("alltaskdiv").innerHTML+="<div><iframe frameborder='0' id='"+divid+"' scrolling='no' src='task.php?ecms=dotask&id="+taskid+"' style='HEIGHT:0;VISIBILITY:inherit;WIDTH:0;Z-INDEX:1'></iframe></div>";
}
}
</script>