网页挂起,直到清除缓存

时间:2014-05-14 01:17:51

标签: javascript jquery html5 html5-appcache

我正在使用jQuery开发HTML5游戏。但是,有时页面会在加载时挂起(目前我只看到这种情况发生在Chrome for Mac上)。当它挂起时,有时会有一个字符串"等待应用程序缓存"在底部。在此期间,网页不会响应任何用户鼠标事件。即使您重新加载页面也会发生同样的情况。但是,如果您转到设置并清除缓存的图像和文件,则网页不会再次加载。

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

跟进,我的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 个答案:

答案 0 :(得分:0)

这两个最常见的原因是(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.
});

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

window.onload=function(){SomeJavaScriptCode};