2015-05-05 2 views
0

моего манифест выглядит следующим образом:HTML5 кэша приложений Firefox является кэширование не перечисленной текущей страницы

<?php 
header("Cache-Control: no-cache, private"); 
header("Content-Type: text/cache-manifest"); 

?> 
CACHE MANIFEST 
# v32 
/wp-content/plugins/sitepress-multilingual-cms/res/css/language-selector.css?v=3.1.9.3 
/wp-content/themes/mytheme/css/reset.css 
/wp-content/themes/mytheme/js/jquery-2.1.3.min.js 
/wp-content/themes/mytheme/img/reset.png 
/wp-content/themes/mytheme/img/tablette_petit.png 
/wp-content/themes/mytheme/img/ordi_petit.png 
/wp-content/themes/mytheme/img/home.png 
/wp-content/themes/mytheme/img/update.png 
/wp-content/themes/mytheme/font/tahoma2.ttf 

FALLBACK: 
//offline/ 

цель, чтобы отобразить страницу в автономном режиме, когда offine для любой страницы.

Этот манифест устанавливается при обращении к странице:

http://somfy.local/mypage/

<!doctype html> 
<?php 
$manifest=""; 
if($pagename == "mypage"){ 
    if (strpos($_SERVER['HTTP_USER_AGENT'], 'Chrome') !== false){ 
     $manifest="manifest=\"/cachemanifest/\""; 
    }else{ 
     $manifest="manifest=\"/cachemanifestothers/\""; 
    } 
} 
//$manifest=""; 
?> 
<html class="mainsite" <?php echo $manifest; ?>> 

(хром имеет специальный манифест, поскольку кэш работает хорошо)

Проблема заключается в том, что Firefox является кэширование MyPage: Когда я его изменяю, F5 ничего не делает, пока я не обновляю манифест. В: кеше я вижу каждый файл, указанный +/mypage. Но эта страница НЕ указана в разделе CACHE:.

Очень скучно обновлять манифест каждый раз, когда я изменяю эту страницу ... И позже, когда я перехожу в автономный режим и получаю доступ/mypage Я не возвращаюсь на страницу/офлайн, но вижу/mypage, потому что это кэшируется, и страница сломана, потому что она пропускает много js/css.

Спасибо за помощь

ответ

0

Ну это не ошибка, это особенность приложения она называется Мастер записи.

https://developer.mozilla.org/en-US/docs/Web/HTML/Using_the_application_cache#Master_entries

обсуждается здесь:

http://www.webdirections.org/blog/appcache-not-so-much-a-douchebag-as-a-complete-pain-in-the/

Мастер запись является HTML-файл, который включает в себя явный атрибут в HTML-элемент, который указывает на файл манифеста (который является только путь для создания HTML5 appcache BTW). Любой такой файл HTML автоматически добавляется в кэш.

+0

проверить это для решения: http://labs.ft.com/2012/11/using-an-iframe-to-stop-app-cache-storing-masters/ – jpprade

Смежные вопросы