Не работает сохранение кэша с использованием файла .manifest

#caching #ipad #web-applications

#кэширование #iPad #веб-приложения

Вопрос:

В настоящее время я разрабатываю веб-приложение для iPad. Итак, я создал целое «приложение» с моими различными HTML-файлами, моим css, моими картинками. Теперь следующий шаг для меня — иметь возможность кэшировать файлы, чтобы использовать «приложение» в автономном режиме. Я следую советам, которые я нашел на разных веб-сайтах, с файлом manifest и всем остальным. Кажется, я единственный, у кого есть эта проблема, потому что я искал в Интернете ответ на свой вопрос, но я ничего не нашел.

Итак, я создал свой файл манифеста (ipad.manifest), который выглядит следующим образом :

     $CACHE MANIFEST

    $/WebApp/home-start.htm
    $/WebApp/accommodation.htm
    $/WebApp/accommodation2.htm
    $/WebApp/dining.htm
    $/WebApp/entertainment.htm
    $/WebApp/general.htm
    $/WebApp/home.htm
    $/WebApp/shopping.htm
    $/WebApp/sights.htm
    $/WebApp/sports.htm
    $/WebApp/css/screen3.css
    $/WebApp/Player/CanalVenetian.mp4
    $/WebApp/Player/DancingWater.mp4
    $/WebApp/Player/NaCha.mp4
    $/WebApp/Player/NaCha2.mp4
    $/WebApp/Player/Opening.mp4
    $/WebApp/Player/previewhome.jpg
    $/WebApp/Player/previewsights.jpg
    $/WebApp/Player/previewvenetian.jpg
    $/WebApp/Player/Venetian.mp4
    $/WebApp/Player/video.js
    $/WebApp/Player/Zaia.mp4
    $/WebApp/iPad/startup.png
    $/WebApp/iPad/pixel.gif
    $/WebApp/iPad/asktt-ipad-accommodation2.jpg
    $/WebApp/iPad/asktt-ipad-camera.jpg
    $....
  

Я пробовал использовать как относительные, так и абсолютные ссылки, и это все еще не работает.

И в каждом HTML-файлах, которые я добавил :

     $<!DOCTYPE html>
    $<html manifest="ipad.manifest">
    $<head>
  

Когда я захожу на веб-сайт с iPad и нажимаю «добавить на главный экран», он добавляет значок на главный экран, но не загружает содержимое. Поэтому каждый раз, когда я открываю приложение, оно начинает загружать все….

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

Я добавил заголовок «content / type: text / manifest» для моих файлов типа mime на моем сервере.

Но я не понимаю, почему он ничего не кэширует или даже не спрашивает меня, хочу ли я кэшировать файлы???

У кого-нибудь есть идея? Или была такая же проблема?

Ответ №1:

попробуйте с этим, поместите его в корень вашего приложения и назовите его manifest.php и добавьте его в свое веб-приложение html с

php-файл начинается здесь

 $hashes="";

$dir = new RecursiveDirectoryIterator(".");
foreach(new RecursiveIteratorIterator($dir) as $file){
    if ($file->IsFile() amp;amp;
        $file != "./manifest.php" amp;amp;
        substr($file->getFilename(),0,1) != ".")
    {
    echo $file . "n";
    $hashes .= md5_file($file);        
    }
}
echo "# Hash:" . md5($hashes) . "n";
  

?>
php-файл заканчивается здесь