javascript - 网页挂起直至清除缓存

标签 javascript jquery html html5-appcache

我正在使用 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/

相关文章:

javascript - 使用 React,如何绑定(bind)到用户的剪贴板粘贴事件和解析数据?

javascript - 在 nodejs 中使用 Document 对象

jQuery 自动完成 : select Id from 'source' event

html - Div重叠

javascript - CSS/Jquery OverFlow 隐藏不工作

javascript - 我们可以查看 emberjs 中的所有路由,也就是类似于 rake 路由在 rails 中所做的事情吗

javascript - 输入文本框更改时的 jQuery 运行代码

javascript - 弹出表单成功消息

javascript - jQuery DataTable fnDestroy 重新格式化表

php - 从 laravel 将 DOB 插入 mysql