首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >window.applicationCache更新冻结浏览器-如何降低它们的频率或强制它们被用户启动

window.applicationCache更新冻结浏览器-如何降低它们的频率或强制它们被用户启动
EN

Stack Overflow用户
提问于 2011-05-03 16:45:53
回答 1查看 793关注 0票数 5

我已经创建了一个web应用程序,它缓存了所有必要的代码和数据,以便通过applicationCache脱机使用。然而,每次应用程序启动时,它都会立即尝试检查更新情况。这会阻塞浏览器相当长的时间,即使它找不到任何要更新的内容。这种行为对应用程序具有很大的破坏性(不应该在后台进行更新吗?)。仅仅是检查阶段就需要在移动设备上花费大量时间,如果它发现了更新,那么所有关于下载时间(b/c,它必须重新下载所有文件)的赌注都会消失--这也会冻结浏览器。

所以,我想知道:

  1. 是否有一种将applicationCache更新委托给共享网络工作人员的方法?或
  2. 是否有一种方法可以阻止所有applicationCache更新,直到用户特别希望检查更新并按下将通过applicationCache.update()启动更新的按钮?或
  3. 还有其他方法可以减少检查更新所花费的时间吗?
  4. 应用程序缓存更新不应该在后台异步运行吗?

编辑:也许清单文件上精心构造的缓存控制头就是答案?我会调查这个,但我希望有人能给我更多关于这些更新的信息。谢谢。

更新

好吧,我玩过头球,没有什么能帮到你。我要开始赏金了。如果你能帮忙,请帮忙!

EN

回答 1

Stack Overflow用户

发布于 2011-09-08 10:41:56

中止()方法可能是中止(),但我还没有遇到任何实现它的浏览器。

我有一个类似的问题,并尝试了一切,包括疯狂的想法,把清单本身,看看它是否会缓存自己。因此,我可以使用ajax请求和填充到localStorage...yikes中的eval‘’ing javascript手动进行更新。

最后,我用一个简单的清单创建了一个非常简单的html页面。当我测试它时,UI没有锁定。慢慢地,我开始将内容添加到页面中,并查看清单内容是否会导致applicationCache检查期间冻结。当我向页面添加一个图像时,我终于失败了,但是我把它放在了清单之外--这时UI又开始锁定了。我回到原来的项目中,发现了一些需要在清单中出现的图像,并且还解决了锁定UI问题。

applicationCache的检查阶段尝试异步(至少在我测试过的设备上)。但是,如果清单中缺少任何文件,则必须等待完成对的检查。

当浏览器需要一个尚未缓存的文件时,它会等待applicationCache完成更新,然后才会对该文件提出请求--这是有意义的,因为其他资源可能依赖于丢失的文件。这将刹车的渲染,并使UI冻结。如果无法访问清单(例如,在不同的网络上),则UI可以锁定约一分钟。

要查找需要添加到清单中的文件,请在刷新应用程序几次时查看服务器日志。嫌疑人将是对清单以外的文件的任何请求。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5877322

复制
相关文章
解放双手:如何在本地调试远程服务器上的Node代码
谈到node断点调试,目前主要有三种方式,通过node内置调试工具、通过IDE(如vscode)、通过node-inspector,三者本质上差不多。本文着重点在于介绍 如何在本地通过node-inspector 调试远程服务器上的node代码。
IMWeb前端团队
2019/12/04
1.8K0
解放双手:如何在本地调试远程服务器上的Node代码
解放双手:如何在本地调试远程服务器上的Node代码
本文主要介绍了如何使用Node.js内置的调试器,包括如何启动调试器、设置断点、查看变量、单步执行、进入函数、查看调用栈、设置监视点、查看调用堆栈、调试异步代码、使用console.log、使用source-map-support、使用debugger语法进行调试等。同时还介绍了如何通过IDE或者命令行进行调试,以及调试过程中常见的问题和解决方法。
IMWeb前端团队
2017/12/29
2.8K0
解放双手:如何在本地调试远程服务器上的Node代码
解放双手:如何在本地调试远程服务器上的Node代码
写在前面 谈到node断点调试,目前主要有三种方式,通过node内置调试工具、通过IDE(如vscode)、通过node-inspector,三者本质上差不多。本文着重点在于介绍 如何在本地通过node-inspector 调试远程服务器上的node代码。 在进入主题之前,首先会对三种调试方式进行入门讲解,方便新手理解后面的内容。至于老司机们,可以直接跳到主题去。 方式一:内置debug功能 进入调试模式(在第1行断点) node debug app.js 进入调试模式(在第n行断点) 比如要在第3行断点
用户1097444
2022/06/29
2.4K0
解放双手:如何在本地调试远程服务器上的Node代码
如何在腾讯云上启用 PostgreSQL 数据库远程访问?
EarlGrey
2017/06/02
7.4K0
如何在腾讯云上启用 PostgreSQL 数据库远程访问?
在 Windows 系统上启用远程应用
需要一个远程桌面 App 进行演示, 安装 Windows 远程桌面服务太折腾, 需要安装域控制器, 再部署一整套的远程服务, 太折腾了, 如果只是演示的话, 没必要那么折腾。
beginor
2020/08/07
3.4K0
如何在远程服务器上运行Jupyter Notebooks?
Jupyter Notebook是许多数据科学家工具箱中的一个主要工具。作为一个工具,Jupyter Notebook可以通过交互方式简化数据分析、模型建模和实验,从而缩短从编码到查看结果的反馈循环,从而提高工作效率。
AiTechYun
2019/07/12
4K0
如何在远程服务器上运行Jupyter Notebooks?
如何在Electra越狱的设备上使用LLDB调试应用程序
我试图在google搜索,有关使用Electra越狱的iOS设备上调试AppStore应用程序的简要说明。但令我失望的是,竟然没有找到任何有用的资料。因此我决定写一篇相关的指南,经过我的测试它非常的适用于我,但我无法确定它是否同样适用于你。我在以下设备进行了测试:
FB客服
2018/07/30
2.3K0
如何在Electra越狱的设备上使用LLDB调试应用程序
如何在 CentOS 上启用EPEL存储库
EPEL(Extra Packages for Enterprise Linux)存储库提供了标准 Red Hat 和 CentOS 存储库中未包含的其他软件包。EPEL 存储库的创建是因为 Fedora 贡献者希望使用他们在 Red Hat Enterprise Linux(RHEL)及其衍生产品(如CentOS,Oracle Linux和Scientific Linux)上维护的软件包。
用户8705033
2021/06/08
1.9K0
如何在RHEL/CentOS上启用Apache Userdir模块
User Directory或Userdir是一个Apache模块,它允许使用http://example.com/~user/语法通过Apache Web服务器检索特定于用户的目录。
星哥玩云
2022/07/27
4660
如何在RHEL/CentOS上启用Apache Userdir模块
如何在 Debian服务器 上启用双因子身份验证
双因子身份验证就是指,需要两种身份验证才能完成账号有效性的验证,可以是密码、SSH 密钥,也可以是第三方服务,比如 Google Authenticator。这意味着单个验证方式的缺陷,不会影响账号的安全。本文我们将介绍如何在 Debian 服务器上启用双因子验证。
Debian中国
2018/12/21
1.8K0
通过 Mac 远程调试 iPhone/iPad 上的网页
我们知道在 Mac/PC 上的浏览器都有 Web 检查器这类的工具(如最著名的 Firebug)对前端开发进行调试,而在 iPhone/iPad 由于限于屏幕的大小和触摸屏的使用习惯,直接对网页调试非常不方便,所以一直没有 Web 检查器这一类工具,但是 iOS 6 的发布解决了这个问题。
Denis
2023/04/14
1.8K0
通过 Mac 远程调试 iPhone/iPad 上的网页
如何在Nginx上启用SSL和TLS 1.3
现在是时候从的'HTTP迁移到HTTPS了。 由于最新的浏览器迭代,尤其适用于网站不安全的情况。 当您将SSL与TLS的一两个结合(请参阅如何在Ubuntu Server 18.04上构建具有TLS支持的Nginx)时,您的站点将获得更高的安全性和性能。
星哥玩云
2022/07/24
4.3K0
如何在Nginx上启用SSL和TLS 1.3
怎样在服务器上启用 HTTPS [每日前端夜话(0x1A)]
此部分使用 openssl 命令行程序(大部分 Linux、BSD 和 Mac OS X 系统均附带此程序)来生成私钥/公钥和 CSR。
疯狂的技术宅
2019/03/27
4.3K0
怎样在服务器上启用 HTTPS [每日前端夜话(0x1A)]
如何在移动设备上使用堡垒机
堡垒机目前已经成为通用的安全设备之一,很多公司运维人员登录服务器的时候都需要从堡垒机上进行认证授权,然后登录服务器进行操作。近年来随着平板设备的普及,很多时候技术人员有从移动设备上登录堡垒机的需求,本文就是以中远麒麟堡垒机为例,说明如何通过安卓或IOS设备访问堡垒机进行运维操作。
用户2169016
2022/02/04
2.2K0
如何在移动设备上使用堡垒机
如何在 Ubuntu 18.04 上安装 Xrdp 服务器(远程桌面)
Xrdp 是一个微软远程桌面协议(RDP)的开源实现,它允许你通过图形界面控制远程系统。通过 RDP,你可以登录远程机器,并且创建一个真实的桌面会话,就像你登录本地机器一样。
雪梦科技
2020/05/11
14.3K0
如何在 Ubuntu 18.04 上安装 Xrdp 服务器(远程桌面)
如何在 Linux 上复制文件/文件夹到远程服务器?
从一个服务器复制文件到另一个服务器,或者从本地到远程复制是 Linux 管理员的日常任务之一。
星哥玩云
2022/07/26
15.7K0
如何在Ubuntu 20.04 上安装 Xrdp 服务器(远程桌面)
本文最先发布在: https://www.itcoder.tech/posts/how-to-install-xrdp-on-ubuntu-20-04/
雪梦科技
2020/05/25
10.2K6
如何在Ubuntu 20.04 上安装 Xrdp 服务器(远程桌面)
如何在CentOS / RHEL 7上启用IPv6
默认情况下,在RHEL / CenOS 7系统上启用IPv6。因此,如果故意在系统上禁用IPv6,则可以通过以下任一方法重新启用它。
sunsky
2020/08/20
6.3K0
如何在Ubuntu 18.04上启用没有Shell访问权限的SFTP
SFTP代表S SH F ile T ransfer P rotocol。顾名思义,这是一种使用加密SSH连接在计算机之间传输文件的安全方法。尽管名称如此,但它与FTP(F ile T ransfer P rotocol)完全不同,尽管现代FTP客户端广泛支持它。
一步
2018/09/28
3.9K0
如何在Cisco设备上停止Traceroute或Ping?
在深入讨论如何停止Traceroute或Ping之前,让我们先了解一下这两个工具的基本原理。
网络技术联盟站
2023/09/06
7450
如何在Cisco设备上停止Traceroute或Ping?

相似问题

如何在远程服务器上调试CUDA代码?

10

如何在流星上远程调试服务器代码?

13

如何在Android设备上启用Chrome调试?

12

Linux服务器上CUDA程序的远程调试与评测

35

在设备上远程调试android应用

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档