我正在使用 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 header 中,这可能会有所帮助。 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};
关于javascript - 网页挂起直至清除缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23644137/