问题
我写了一个脚本来通知用户页面正在缓慢加载(比如说,这是因为互联网连接缓慢)。脚本放在<head></head>中的第一位,非常简单:
var GLOBAL_TIMEOUT = setInterval(function () {
alert("The Internet connection is slow. Please continue waiting.");
}, 30000);
//clear that interval somewhere else when document is ready
$(function () {
clearInterval(GLOBAL_TIMEOUT);
});问题
在当前示例中,只需通知信息。有没有其他可能的方式通知用户页面加载缓慢(特别是当头中的某个js或css文件非常大且需要一些时间加载时)?我已经尝试过操纵DOM (在我看来,在文档准备好之前,这是不对的),document.body导致了null。
附加内容
设置间隔的解决方案来自here。对于如何做到这一点,任何其他想法都会受到极大的赞赏。
发布于 2013-09-06 13:05:19
嗯,经过几个小时的脑损伤,我终于解决了。这更多的是更好的用户体验,而不是技术创新,但符合我的需要。
<script></script>仍然位于<head></head>的顶部,它每30秒询问用户是否想停留在页面上等待,直到加载。如果用户拒绝,窗口将被关闭,否则加载将继续。脚本如下所示:
(function () {
var SLOW_CONNECTION = setInterval(function () {
if (!confirm("The Internet connection speed is low. Do you want to continue waiting?")) {
var win = window.open("", "_self");
win.close();
}
}, 30000);
window.addEventListener("load", function () {
clearInterval(SLOW_CONNECTION);
});
})();https://stackoverflow.com/questions/18650068
复制相似问题