0

cache.manifest を使用して非常に基本的なオフライン Web アプリを作成しています

しかし、実行するキャッシュのダウンロードは 5 MB 未満です。また、キャッシュのダウンロードが完了したときにポップアップ アラートを 1 回実行する方法があるかどうか疑問に思っています。

ありがとう


マニフェストで何か見逃した場合にデバッグするのに役立つこのデバッガーを見つけましたが、これが役立つかどうかわかりませんか?

<script>

    var cacheStatusValues = [];
    cacheStatusValues[0] = 'uncached';
    cacheStatusValues[1] = 'idle';
    cacheStatusValues[2] = 'checking';
    cacheStatusValues[3] = 'downloading';
    cacheStatusValues[4] = 'updateready';
    cacheStatusValues[5] = 'obsolete';

    var cache = window.applicationCache;
    cache.addEventListener('cached', logEvent, false);
    cache.addEventListener('checking', logEvent, false);
    cache.addEventListener('downloading', logEvent, false);
    cache.addEventListener('error', logEvent, false);
    cache.addEventListener('noupdate', logEvent, false);
    cache.addEventListener('obsolete', logEvent, false);
    cache.addEventListener('progress', logEvent, false);
    cache.addEventListener('updateready', logEvent, false);

    function logEvent(e) {
        var online, status, type, message;
        online = (navigator.onLine) ? 'yes' : 'no';
        status = cacheStatusValues[cache.status];
        type = e.type;
        message = 'online: ' + online;
        message+= ', event: ' + type;
        message+= ', status: ' + status;
        if (type == 'error' && navigator.onLine) {
            message+= ' (prolly a syntax error in manifest)';
        }
        console.log(message);
    }

    window.applicationCache.addEventListener(
        'updateready', 
        function(){
            window.applicationCache.swapCache();
            console.log('swap cache has been called');
        }, 
        false
    );

    setInterval(function(){cache.update()}, 10000);

</script>
4

1 に答える 1

3

キャッシュのダウンロードがいつ完了したかを確認するには、おそらくCachedイベントを探しています。上記と同じように確認できます。

window.applicationCache.addEventListener('cached', function() {
    // anything you need to do for success
    alert('I'm done!');
}, false );
于 2014-09-03T05:04:53.813 に答える