为什么这个setTimeout不工作& &;里面有相关问题

Why is this setTimeout not working & related question inside

本文关键字:问题 setTimeout 工作 为什么      更新时间:2023-09-26

我的页面上有这个脚本,setTimeout函数从未触发。现在只是个警报,我只是在测试一下。我在页面上做一个元刷新之后,如果这是任何线索,但我也给了一个10秒的延迟,所以页面没有刷新之前应该触发。

也,相关的问题:如果我运行一个javascript的延迟,说,10秒(与setTimeout),并在该javascript中,我试图修改设计元素,不在页面上,当setTimeout声明,但将由时间脚本被触发。它会起作用吗?

<script language=javascript>
var xmlhttp_get_memento;    
function loop_alerte(){
    setTimeout( function() {
        alert("timeout");
    }, 5000);
    xmlhttp_get_memento = new XMLHttpRequest();
    if (xmlhttp_get_memento==null)
    {
        alert ("Browser does not support HTTP Request (1)");
        return;
    }   
    var url="crm/ajax/get_mementos.php";
    url=url+"?sid="+Math.random();
    xmlhttp_get_memento.onreadystatechange=function() {
        if (xmlhttp_get_memento.readyState == 4) {  
            alert(xmlhttp_get_memento.responseText);                                        
            schimbare_tip_cursor("default");
        }
        else{
            schimbare_tip_cursor("progress");
        }
    };
xmlhttp_get_memento.open("GET",url,true);
xmlhttp_get_memento.send(null);
}
loop_alerte();
</script>';

你的setTimeout看起来不错,所以可能有其他地方出了问题。您是否尝试过使用javascript调试器来查看是否出现任何错误?

至于你的第二个问题,是的,这应该没有任何问题,因为settimeout内的匿名函数在运行之前不会被评估。

setTimeout没有问题,您需要进一步调试
至于你的第二个问题——函数会运行,但无论你想做什么都不会工作。

清理代码将是一个很好的开始。我可以想象浏览器不理解标签<script language=javascript>。我建议使用<script type="text/javascript">,如果你是幸运的,你的javascript可能会工作!