网页挂起,直到清除缓存



我正在用jQuery开发一款HTML5游戏。然而,有时页面在加载时挂起(目前我只看到这种情况发生在mac版Chrome上)。当它挂起时,有时在底部有一个字符串"等待应用缓存"。在此期间,网页不会响应任何用户鼠标事件。即使重新加载页面也会发生相同的情况。但是,如果你进入设置并清除缓存的图像和文件,网页就不会在加载时卡住了。

我不知道为什么会这样。控制台没有错误,所以我不知道问题出在哪里。更糟糕的是,当网页挂起时,甚至很难打开调试控制台。有什么想法或猜测为什么会发生这种情况吗?提前感谢!

后续,我的javascript入口点:

$(window).ready(function() {
    middleLayerInitialize();
    initialize();
    addEventListeners();
});
下面是我如何使用jQuery的示例:
<link rel="stylesheet" href="./styles/jquery.mobile-1.3.2.css" />
<script type="text/javascript" src="./js/jquery-1.10.1.js"></script>
<script type="text/javascript" src="./js/jquery.mobile-1.3.2.js"></script>
<script type="text/javascript" src="./js/jquery.mousewheel.js"></script>

这两个最常见的原因是(1)你包含jQuery两次或(2)你正在加载大量的html和jQuery必须等待你的html完成加载。如果将jQuery直接下载到目录中,并将其包含在HTML头文件中,可能会有所帮助。http://jquery.com/download/

<head>
<script src="jquery-1.11.0.min.js"></script>
</head>

确保你没有像下面这样下载。

<head>
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.11.0.min.js"></script>
</head>

并且确保只有一行包含jQuery。

最后一个选项(最不可能有帮助)。我不知道你的设置,但是试试:

$(document).ready(function() {
    // put all your javascript here.
});

而不是使用(window).ready。我这样说是因为你通常不使用(window).ready。你可以用我上面写的或者

window.onload=function(){SomeJavaScriptCode};

最新更新