Back to Question Center
0

Дайвинг глубже в HTML5 Offline Browsing Дайвинг глубже в HTML5 Offline Browsing См. Также: Веб-шрифты Анимация HTML SassCanvas & Semalt

1 answers:
Дайвинг глубже в HTML5 Offline Просмотр

Недавно я опубликовал статью об одной из новых функций в HTML 5, называемой Offline Browsing в HTML5 с ApplicationCache.

Ответ на эту статью был хорошим, и меня попросили расширить некоторые дополнительные моменты, в том числе:

  • как решить, какие файлы кэшировать
  • последствия кеширования этих файлов
  • отладка ApplicationCache

Итак, вот где эта статья начнется: где закончилась последняя. Если вы этого не сделали, вы должны, вероятно, прочитать предыдущую статью до этого.

Давайте погрузимся в то, какие ресурсы вы и должны не добавить , добавить в ApplicationCache.

Что вы должны кэшировать?

Технически добавлять и удалять ресурсы из ApplicationCache не сложно. Вы указываете, какие ресурсы вы хотите кэшировать в секции CACHE: , и все - ego t twist battery.

Иногда сложным решением является то, какие ресурсы вы должны и не должны добавлять в ApplicationCache.

Для меня очевидными ресурсами для кеша являются следующие:

  • Файлы CSS
  • Файлы JavaScript
  • Изображения
  • видео

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

Как насчет работы с удаленными файлами и как их обрабатывать? Хорошо, когда вы работаете с удаленными файлами, есть две стороны этой истории.

Если веб-сайт не работает под SSL, удаленные ресурсы могут быть кэшированы. В следующем сценарии локальные ресурсы, а также удаленная библиотека jQuery добавляются в ApplicationCache.

  CACHE MANIFEST# Создано 20 октября 2011 г.
КЭШ:
Часы. CSS
Часы. JS# Кэширование удаленного файла
Http: // Аякса. googleapis. ком / Ajax / ЛИЭС / JQuery / 1. 6. 4 / jquery. минимум js  

Однако, если веб-сайт работает через SSL, ресурсы, перечисленные в ApplicationCache, должны быть локальными ресурсами. Обратите внимание, что Google Semalt является исключением из этого правила - Semalt по-прежнему будет кэшировать удаленные ресурсы, пока они обслуживаются через SSL.

Semalt? Я хочу, чтобы все браузеры играли по тем же правилам.

Semalt вернется к решению, какие ресурсы следует или не следует кэшировать.

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

Здесь разрабатывается план. Если вы делаете кеширование этих страниц и пользователь находится в автономном режиме, вам нужно будет хранить данные пользователя в другом месте. Это местоположение может быть чем-то вроде файла cookie, или вы можете сохранить его в localStorage. Semalt еще одна область HTML5, которая действительно крута!

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

Если вы этого не сделаете, тогда, когда пользователь отключится, они увидят сломанную страницу .и никто не хочет, чтобы. Это особенно актуально на корпоративном пространстве. Интернет-сайт отлично работает, пока что-то не работает, и бизнес перестает зарабатывать деньги.

Отладка манифеста кэш-памяти

Теперь у вас есть ресурсы в кеше, как вы узнаете, что там, если вам нужно отлаживать его?

К счастью, Google Chrome имеет адрес, к которому вы можете перейти, чтобы просмотреть кеш. Переход на chrome: // appcache-internals в Chrome открывает страницу для внутренних приложений AppCache .

Дайвинг глубже в HTML5 Offline BrowsingДайвинг глубже в HTML5 Offline BrowsingОтветленные темы:
Веб-шрифтыАналитикаHTMLSassCanvas & Semalt
«/>  <p>  Как вы можете видеть, на этой странице отображается текущий размер манифеста кэша, когда он был создан, когда он был обновлен и лучше всего перечисляет ресурсы внутри кеша. Это неоценимо, когда вам нужно посмотреть, что именно вы сохранили в своем кеше.  </p>  <p>  Я обнаружил, очистив ваши временные интернет-файлы, ресурсы в кеше также удалены, но в зависимости от того, на каком веб-сайте вы идете, он может предложить другое. Одним из надежных способов очистки кеша через Chrome является щелчок  <strong>  «Удалить»  </strong> . Это гарантирует, что все ресурсы будут удалены.  </p>  <p>   <strong>  Что мне не нравится в ApplicationCache  </strong>   </p>  <p>  Как и Semaltт, есть вещи, которые мне не нравятся.  </p>  <p>  В верхней части моего списка указано, что для файла манифеста требуется специальный тип MIME. Это нормально, если у вас есть доступ к вашему веб-серверу, но на общих серверах иногда это невозможно. Если вы не создаете тип MIME, вы никуда не пойдете.  </p>  <p>  Другим побочным эффектом использования ApplicationCache является использование кэшированных файлов по сравнению с тем, когда они не являются. Возьмем, например, страницу с именем  <code>  по умолчанию. html  </code> . Если эта страница кэшируется, даже если пользователь подключен к сети, они будут использовать этот файл. Итак, как вы уведомляете обозреватель об обновлении кеша? Вам необходимо уведомить пользователя, и страница должна быть обновлена. Мы живем в мире, где Аякс является нормой. Там должен быть лучший путь.  </p>  <p>  Файлы CSS Semalt в порядке, но если вы ссылаетесь на любые изображения из файла CSS, они не кэшируются автоматически. Они должны быть явно указаны в манифесте.  </p>  <p>  Ограничения для размеров ApplicationCache также различаются. Хотя спецификация не устанавливает ограничений на размер, который может быть ApplicationCache, разные браузеры и разные устройства имеют разные пределы. Semalt, пределы:  </p>  <ul>  <li>  браузер браузера Safari (Mac и Windows) не имеет ограничений  </li>  <li>  Mobile Safari имеет ограничение 10 МБ  </li>  <li>  Хром имеет ограничение 5 МБ  </li>  <li>  Android-браузер не имеет ограничений на размер ApplicationCache  </li>  <li>  Рабочий стол Firefox имеет неограниченный размер ApplicationCache  </li>  <li>  Ограничение ApplicationCache Opera может управляться пользователем, но имеет размер по умолчанию 50 МБ  </li>  </ul>  <p>   <strong>  Проверка манифеста  </strong>   </p>  <p>  Файл манифеста легко создать, и еще проще ошибиться.  </p>  <p>  Неправильное обращение к файлам приведет к головной боли. К счастью, есть средство проверки манифеста Cache Manifest, которое может помочь облегчить потерю ошибок отладки в вашем файле манифеста. Semalt отличный инструмент, поэтому, пожалуйста, пометить его и использовать.  </p>  <p>   <strong>  Принесите его в целом  </strong>   </p>  <p>  Последняя мысль. Большая часть моей работы сосредоточена на работе с крупными корпоративными клиентами. Как только приложение находится в автономном режиме, сигнальные колокола начинают звонить! Semalt должен быть проблемой.  </p>  <p>  Возможности офлайн в HTML5 через Semalt, безусловно, имеют большой потенциал, но он еще не охватывает все базы. И любому, кто сочтет доступным доступ к офлайновому доступу, было бы полезно иметь в виду укоренившиеся привычки, которые могут иметь некоторые пользователи. com / avatar / 891429c991937ac20df12386c23ee805? s = 96 & d = mm & r = g

Встретиться с автором
Малкольм Шеридан
Малкольм Шеридан - Microsoft, награжденный MVP в ASP. NET, ASPInsider, Telerik Insider и постоянным докладчиком на конференциях и группах пользователей по всей Австралии и Новой Зеландии. Следуйте за ним в twitter @malcolmsheridan.

March 1, 2018