2015-03-04 2 views
0

Мне сложно скомпилировать кеш-информацию с сервера с помощью метода кэширования HTML 5.Офлайн-кэширование (HTML5)

Вот список шагов,

1- Создан один файл cache.manifest со следующими записями

CACHE MANIFEST 
    # Version 1.0 
    CACHE: 
    /loading.js 
    /images/pan-icon.png 
    NETWORK: 
    * 

Тогда я шучу добавить следующее связующее событие, чтобы загрузить обновленную информацию с сервера

window.addEventListener('load', function (e) { 
    window.applicationCache.update(); 
    window.applicationCache.addEventListener('updateready', function (e) { 
     if (window.applicationCache.status == window.applicationCache.UPDATEREADY) { 
      // Browser downloaded a new app cache. 
      window.applicationCache.swapCache(); 
      console.log('Updated'); 
     } else { 
      console.log('No Update'); 
     } 
    }, false); 

}, false); 

Но в любом случае не удалось получить последние «load.js» с сервера. Мне нужно очистить кеш, чтобы получить обновление с сервера.

Есть ли способ обновить это заранее.

Пожалуйста, помогите мне

Я использую рамку ASP .NET MVC построить мой веб-приложение

ответ

0

Когда бы вы изменить содержимое файла, который определен в манифесте, необходимо обновить файл манифеста а также для того, чтобы браузер вытащил последнее содержимое этого файла.

В разделе Gotchas от MDN (https://developer.mozilla.org/en-US/docs/Web/HTML/Using_the_application_cache)

Когда приложения кэшируются, просто обновляя ресурсы (файлы), которые используются в веб-страницы, не достаточно, чтобы обновить файлы, которые были кэшируются. Вы должны обновить файл манифеста кэша до того, как браузер получит и использует обновленные файлы. Вы можете сделать это программно, используя window.applicationCache.swapCache(), хотя ресурсы, которые уже были загружены, не будут затронуты. Чтобы убедиться, что ресурсы загружены из новой версии кэша приложений, обновление страницы идеально.