首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >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

复制
相关文章
在 Ubuntu 中 安装python
virtualenvwrapper: 基于 virtualenv 之上的一个工具,通过它可以方便的创建/激活/管理/销毁虚拟环境,没它的话进行上面的操作将会相当麻烦。
py3study
2020/01/09
2.4K0
在Linux/CentOS中编译安装Python
心血来潮,想学习一下Python,听说用来做爬虫还不错。先从运行环境开始入手,CentOS中已经内置了Python,但版本似乎比较老,通过python -V命令看到版本是2.4.3。目前Python 2.x的最新版本号是2.7.8,那么就开始动手升级一下。
魏杰
2022/12/23
7390
在docker中解决软件动态库问题 & 安装opencv_python
本文由腾讯云+社区自动同步,原文地址 https://stackoverflow.club/docker/dynamic_lib_in_docker_opencv/
羽翰尘
2019/11/20
2.4K0
在 python3.x中安装 Crypt
1.0 安装: 直接找过来 whl 安装:https://pan.baidu.com/s/1ZYQp4Knwk-Bcr9hmx9IPyA pip安装:pip install pycrypto-2.6.1-cp36-cp36m-win_amd64.whl
py3study
2020/01/20
1.5K0
在VMware环境安装Ubuntu Server中遇到的无法安装问题
我们项目最近在测试pihole dns, 所以想要安装Ubuntu Server测试,结果发现报错。
繁华是客
2023/03/03
4.9K0
在Mac OS系统中安装Python教程
在进入工作岗位之后会有很多公司为开发人员提供Mac OS系统的电脑,所以这篇文章帮大家下载安装一下Mac OS系统下的python开发环境。
python自学网
2021/11/28
1.7K0
在Mac OS系统中安装Python教程
在docker中安装python依赖库/模块
我们一般如何处理软件的运行环境问题?一般上,即使用docker,我们的python脚本还是不可避免地需要安装额外的库。而每添加一个库都制作一个新的docker,这会是一个灾难。有必要寻找一种更优雅的解决方案。
羽翰尘
2019/11/20
12.3K0
在CentOS7中安装python3.7
下载python3.7.0的安装包至/usr/local/src/目录,切换至/usr/local/src/目录:
py3study
2020/01/10
9930
在Python中处理CSV文件的常见问题
当谈到数据处理和分析时,CSV(Comma-Separated Values)文件是一种非常常见的数据格式。它简单易懂,可以被绝大多数编程语言和工具轻松处理。在Python中,我们可以使用各种库和技巧来处理CSV文件,让我们一起来了解一些常见问题和技巧吧!
华科云商小孙
2023/09/25
6300
在全新的Ubuntu中安装Python3 环境
在全新的Ubuntu 18.04中已经自带了Python 3。但是这个Python环境并不完整,需要补充安装下面几个模块。
青南
2018/10/18
1.1K0
怎么在python中安装matplotlib_matplotlib依赖库
2.虽然下载Python的时候自带有pip,但这里更新一下pip,输入更新pip命令:
全栈程序员站长
2022/09/27
1.8K0
怎么在python中安装matplotlib_matplotlib依赖库
node-sass 在 jenkins 中因为权限无法安装的问题
我使用 whoami 输出执行命令的用户是 root,但是 node 执行安装node-sass时调用了 mkdir 以及调用 binding.node 没有权限。然后试了一下使用 sudo 来执行 rebuild node-sass ,就成功了。这是我的日志:
前Thoughtworks-杨焱
2022/02/19
2.5K0
在VirtualBox中安装ArchLinux
乐百川
2018/01/09
3K0
在Linux中安装JDK
JDK安装包 下载地址:http://www.oracle.com/technetwork/java/javase/archive-139210.html
CoderJed
2018/09/13
5.2K0
在docker中安装phpmyadmin
其中,PMA_HOST和PMA_PORT填写的内容是MySQL数据库的地址和端口号
灯珑LoGin
2022/10/31
2.1K0
在vmware中安装Android
首先可以前往https://osdn.net/projects/android-x86/下载自己喜欢的镜像,这里以安卓9的镜像为例
阿龙w
2022/12/25
2.8K0
在vmware中安装Android
在Anaconda中安装OpenCV
本人使用的是win10系统,anaconda版本为4.7.12,python版本为3.7.4
全栈程序员站长
2022/07/22
2K0
在Anaconda中安装OpenCV
在 CentOS 中安装 MySQL
安装 MySQL 8.0 时,会自动为 root 用户生成一个临时密码,并记录在日志文件里。请使用以下命令查看 root 用户的临时密码:
不惑
2023/09/23
3.2K0
在ArchLinux中安装MySql
最近在用ArchLinux在虚拟机里学习Linux。现在想在ArchLinux中安装WordPress,首先就需要安装MySql数据库。但是在MySql被Oracle收购之后,很多开源支持者就转而使用MariaDb了。不过MariaDb也和MySql兼容的,所以基本不用有什么担心。由于ArchLinux只带了MariaDb,所以我们就用MariaDb来代替MySql。
乐百川
2022/05/05
1.5K0
在Ubuntu中安装Hadoop
在装Hadoop之前首先需要:  1.java1.6.x 最好是sun的,1.5.x也可以  2.ssh 安装ssh $ sudo apt-get install ssh $ sudo apt-get install rsync 下载Hadoop  从http://Hadoop.apache.org/core/releases.html 下载最近发布的版本  最好为Hadoop创建一个用户:  比如创建一个group为Hadoop user为Hadoop的用户以及组 $ sudo addgroup Ha
闵开慧
2018/03/30
1.5K0

相似问题

在Python中安装netfilterque的问题

18

在Python中安装matplotlib的问题

43

在Linux / CentOS中安装Python的问题

23

在Python中安装TabNet的问题(Anaconda)

10

在GCP中安装python需求的问题

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

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