我正在尝试解决一个问题。基本上我需要在长时间运行的 Javascript 代码上显示“加载消息”,并在此代码结束时将其隐藏,例如:
显示消息();
执行我的代码();
隐藏消息();
但是,我在 Internet Explorer 上运行时遇到了问题,现在看起来页面在所有脚本代码完成之前都被冻结了,这对用户来说可能很烦人。我尝试了一种使用 setTimeout() 的方法,但这不起作用,你们有没有解决这个问题?我会很感激你的帮助。
提前致谢。
我正在尝试解决一个问题。基本上我需要在长时间运行的 Javascript 代码上显示“加载消息”,并在此代码结束时将其隐藏,例如:
显示消息();
执行我的代码();
隐藏消息();
但是,我在 Internet Explorer 上运行时遇到了问题,现在看起来页面在所有脚本代码完成之前都被冻结了,这对用户来说可能很烦人。我尝试了一种使用 setTimeout() 的方法,但这不起作用,你们有没有解决这个问题?我会很感激你的帮助。
提前致谢。
你可以这样做:
function showMessage(){
/* show message */;
window.delay=setTimeout(executeMyCode,100); // Give some time to browser to render message
return;
}
function executeMyCode(){
clearTimeout(window.delay);
/* execute long running code */
/* hide message */
return;
}
虽然在执行长代码时浏览器仍然会被冻结,但用户现在可以看到该消息。