今天仍然是一个有效的问题。在我的示例中,我的错误日志不返回任何内容。我正在使用 IE11。
<html xmlns="http://www.w3.org/1999/xhtml" manifest="icozum.appcache">
onChecking 事件触发,但随后 onError 缓存状态 = 0,即未缓存。
window.applicationCache.onchecking = function (e) {
var doc = document.getElementById("cachestatus");
if (doc != null) {
doc.innerHTML += "Checking the cache.\n";
}
}
然后onError
window.applicationCache.onerror = function (e) {
var doc = document.getElementById("cachestatus");
if (doc != null) {
doc.innerHTML += "Cache error occurred." + applicationCache.status.toString() + "\n";
console.log(e);
console.log("test");
}
}
屏幕上的输出是
检查缓存。发生缓存错误。0
onError 事件处理程序中没有关于错误的详细信息。按F12我得到了真正的错误。这是屏幕截图。有没有办法在 onError 事件处理程序中捕获这么多细节。
最后我发现了问题所在。该错误不是由于缺少文件。应用程序缓存文件确实存在,但是在 windows 中,visual studio (2013)/IIS 无法识别扩展名.appcache
. 以下部分需要添加到web.config
文件中。
<system.webServer>
<staticContent>
<mimeMap fileExtension=".appcache" mimeType="text/cache-manifest"/>
</staticContent>
</system.webServer>