当一个popUp时,在后台运行的脚本会被停止

时间:2012-08-14 16:43:31

标签: javascript

我有这个需要在后台运行的javascript方法

window.setInterval(function(){
 validateCaseStatus();
}, 3000);        

在同一页面上,我有一个按钮,询问用户是否要提交上传的文件。但是我注意到当popUp msg(alert)启动时,页面上的脚本就不会运行了。

有没有办法让脚本保持运行?

我使用此方法检查案例状态是否已更改并禁用window.onbeforeunload。 我的问题是,即使显示popUp警报,我仍然可以保持脚本在上面运行。

//cancels onbefore close popup when docs are submitted
function validateCaseStatus(){

     caseStatus = sforce.apex.execute("IFAP_WebService","CheckCaseStatus", {!$caseId});  

    if (caseStatus == "Uploaded" || caseStatus == "Submitted")
    {
         submitted = true; 
        window.onbeforeunload  = null;
        validateCaseStatus = null;
    }
}

1 个答案:

答案 0 :(得分:2)

尝试使用WebWorkers。这是一个新的html5概念,需要更多的工作,但它们非常容易理解并且非常有用。见https://developer.mozilla.org/en-US/docs/DOM/Using_web_workers?redirectlocale=en-US&redirectslug=Using_web_workers http://ejohn.org/blog/web-workers/和http://www.html5rocks.com/en/tutorials/workers/basics/