Я создал веб-приложение с большим количеством Javascript и недавно настроил его для работы на iPad (нужны были настройки, потому что он позволяет рисовать, перемещая мышь, и onmousedown / onmousemove не будет запускаться до тех пор, пока не отпущен палец).
Теперь, с твиками, приложение отлично работает в Mobile Safari.Однако я вижу проблему, когда при первой попытке загрузить приложение на iPad часто происходит сбой Mobile Safari.Однако при повторном открытии браузера и обновлении страницы приложение прекрасно загружается и становится полностью пригодным для использования.Проведя некоторые исследования, я обнаружил, что наиболее распространенная причина сбоя Mobile Safari - более 6 МБ изображений или несколько изображений, загруженных с помощью Javascript.Мое приложение использует только изображения для значков, поэтому общий размер изображения на самом деле очень мал (вероятно, менее 100 КБ), но мой код JS, однако, несжатый на 2,5 МБ и сжатый на 350 КБ с использованием gz (именно так я отправляю его наклиент).
Я также читал, что загрузка изображений через CSS позволяет избежать сбоев из-за ограничения размера изображения.Я подумал, что это стоит попробовать, так как также возможно, что сбой вызван большим количеством изображений, а не только общим размером изображения.После изменения некоторых моих значков, отображаемых с помощью свойства background-image в CSS, сбой, похоже, исчез.Я решил пойти дальше и настроить все другие иконки для рендеринга с использованием CSS-фонов.После изменения всех моих изображений, которые будут отображаться с использованием CSS, внезапно происходит сбой.
Что приводит меня к нескольким возможным выводам:
A.) Даже частичный CSSИсправление, которое я сделал, на самом деле не помогло, но каким-то образом мне очень повезло, и я не увидел сбоя при перезагрузке приложения и многократном перезапуске iPad (тогда сбой, вероятно, где-то с моим кодом JS или другими частями страницы)
B.) Я представил другую проблему при изменении остальных значков для загрузки через css (если это так, я не ожидал бы, что перезагрузка страницы решит проблему, но это так)
C.) Сбой происходит из-за чего-то в моем Javascript, не связанном с изображениями (но тогда почему он загружается и работает правильно после перезагрузки)
D.) IPad задыхается при попытке рендерить / распаковать столько Javascript за раз (Я не слышал, чтобы это было проблемой, но также редко можно увидеть такой большой кусок Javascript)
Кто-нибудь знает, кроме других проблем?из-за предела изображения в 6 МБ может произойти сбой Mobile Safari при первой загрузке страницы, но не второй?
Если это поможет, вот ссылка на мое веб-приложение (это старая версия, которая загружает изображениячерез JS): http://www.grafpad.com/grafpad/canvas/demo (написано на пижаме, поэтому так много сгенерированного Javascript).
Спасибо