gpt4 book ai didi

debugging - 如何找出导致 IE10 上 AppCache fatal error 的原因?

转载 作者:行者123 更新时间:2023-12-02 19:19:15 25 4
gpt4 key购买 nike

我正在尝试为一个非常大(大约 2 GB)的 Web 应用程序创建一个 HTML5 应用程序缓存,该应用程序将在 Windows 8 Professional 平板电脑和 IE10 上内部使用。某些原因导致缓存过程失败,但我能找到的唯一调试信息是 F12 控制台,它只显示“AppCache Fatal Error”。

我创建了一个错误处理程序并尝试调试:

if (window.applicationCache)
{
var oAppCache = window.applicationCache;
oAppCache.onerror = function(e) {
alert(e); // Outputs [object Event], I use this row as a breakpoint target
};
}

但是,使用调试器查看时,e 不包含有用的信息。

根据网络服务器日志,错误之前请求的最后一个文件是 JPEG,就像许多其他文件一样。我应该从哪里开始寻找有关导致错误的原因的线索?该页面在 Firefox 上缓存良好。

最佳答案

有一段时间我对同样的问题感到头疼。我对 list 进行了二进制切割,直到找出哪一行导致了错误:它是 CACHE 条目 的第 1000 行(不仅仅是 list 的第 1000 行)。

IE10 中的缓存中的项目数量似乎存在硬性限制。经过几分钟的搜索,我还没有在任何地方找到这个记录,但我敢说更坚持的人可能会找到它。

我验证了第1000个CACHE项的内容是什么并不重要; IE 只是阻止您直接开始缓存下载。这可能是出于安全原因的限制,阻止某人淹没缓存,或通过将包含数千个条目的 list 注入(inject)页面来使用它来对站点进行 DoS。

也许尝试将您的应用程序分成具有不同缓存的 block (在子域上?)。如果以 block 的形式下载,可能会带来更好的用户体验,您始终可以通过在一系列较小的缓存之间重定向来自动执行“安装”。

关于debugging - 如何找出导致 IE10 上 AppCache fatal error 的原因?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16859057/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com