Кэш автономного приложения HTML, получение сведений об ошибках - PullRequest
0 голосов
/ 25 февраля 2011

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

В последней версииВ версиях Chrome, FireFox и Safari я могу загрузить файлы из моего манифеста кэша и перейти в автономный режим, но в iOS 4 Mobile Safari возникает событие window.applicationCache.error.Аргумент события, который я получаю обратно, полностью пуст.Кроме того, я включил консоль отладки на своем iPad, но нет соответствующей информации об ошибке.

Кто-нибудь знает, есть ли способ извлечь информацию об ошибке из события ошибки автономного кэширования?

Ответы [ 2 ]

0 голосов
/ 28 февраля 2011

Если в мобильном Safari постоянно возникает ошибка кэширования, но Safari на ПК или Mac будет выполнять кэширование, возможно, вы очистили кэш браузера, не закрывая все экраны браузера и не закрывая браузер. Очистка кэша браузера удаляет также кэши приложений, особенно базу данных кэша. Пока открыт экран браузера, мобильное сафари не воссоздает базу данных кеша приложения. В результате этого каждая операция кэширования приложения завершится неудачей из-за отсутствия базы данных. PC-Safari никогда не уничтожает файл базы данных, но удаляет записи в базе данных.

Как я знаю, нет способа обнаружить эту ситуацию с помощью JavaScript.

0 голосов
/ 25 февраля 2011

У меня была уникальная проблема: я обслуживал автономный манифест через общий обработчик ASP.NET (.ashx), и Safari отказалась открывать файл.Я не уверен, что .ashx - это какой-то тип защищенного расширения файла в Safari, но это было трудно диагностировать.

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

...