帝国cms计划任务执行 一次后不能重复执行解决办法


avatar
pcwnas 2023-04-25 140

原文来自:https://liye5.com/

内容摘要

帝国cms 7.0,后台运行计划任务,执行一次之后,不能按照设置的时间重复执行,原因如下:elseif($ecms=='retask') //运行计划任务{echo"<meta http-equiv="refresh" content=

文章正文

帝国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>

代码注释