我正在使用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>
答案 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};