Почему из-за кеш-манифеста не удается получить мобильный Safari для кэширования сайта при работе, как ожидается, на настольном компьютере? - PullRequest
5 голосов
/ 29 октября 2010

Локально играю с простым веб-приложением и не могу понять, почему оно неправильно кеширует на iPhone. Я отправляю файл .manifest с правильным MIME-типом, и сайт прекрасно работает с включенным или выключенным локальным сервером на настольных Safari, Chrome и Firefox. Только мобильный Safari не может кешировать сайт. Есть идеи, почему это может быть?

Ответы [ 3 ]

4 голосов
/ 01 марта 2011

Кажется, это ошибка iOS.

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

Чтобы снова запустить кэш приложения, закройте все представления Safari и, наконец, закройте браузер, вернувшись на домашний экран.Теперь кеширование приложения должно работать.Некоторые мобильные устройства также требуют включения и выключения.

Если вам известен метод обнаружения этой ситуации, сообщите мне об этом, пожалуйста.

0 голосов
/ 13 марта 2011

Я могу подтвердить, что эта ошибка также присутствует на iPAD под управлением iOS 4.3.

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

0 голосов
/ 14 декабря 2010

У меня была похожая проблема, но Safari и iPhone не работали, пока работали IE и Firefox.Причина была сложной.Одним из них было неправильное написание слова «манифест» в теге HTML.Глупая ошибка и очень неприятно, что IE и FF по-прежнему работают в автономном режиме.Другая проблема заключалась в том, что я использовал default.asp в качестве главной страницы моего приложения и не включал его в манифест.

Моим приложением был mydomain.com/myapp/, и поэтому браузер никогда не видел «default».asp».Кроме того, согласно спецификации HTML5, главная страница не обязательно должна быть в манифесте, но, очевидно, Safari видит это немного по-другому ...

...