#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-файл заканчивается здесь