今日でも有効な問題です。私の例では、エラーログは何も返しません。IE11を使用しています。
<html xmlns="http://www.w3.org/1999/xhtml" manifest="icozum.appcache">
onCheckingイベントが発生しますが、キャッシュステータスが0のonErrorがキャッシュされません。
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>