Html5, че файлът на манифеста
В предишна статия, ние обсъдихме създаването на прост файла на манифеста, нека сега разгледаме как да го използвате в самостоятелни приложения.
Използването манифест
Фактът, за създаване на манифест не е достатъчно, за да браузърът не му обръща внимание. За да манифест имаше някакъв ефект, то трябва да бъде посочено в уеб страниците. За да направите това, поставете основния елемент манифест атрибут и да го зададете като стойност на името на файла на манифеста:
Това трябва да се направи за всяка страница, включени в заявлението за самостоятелно.
А сайт може да има неограничен брой самостоятелни приложения, при условие че всеки един от тях има свой манифест. Самостоятелни приложения също могат да споделят някои ресурси (като стилове), но всяко приложение трябва да има свой собствен набор от уеб страници.
манифест публикуван на уеб сървъра
Тестване на файла на манифеста може да бъде сложен процес. Малки грешки могат да предизвикат скрити повреди и прекъсване на процеса на всички кеширане. Но, въпреки това, на определен етап на манифеста файла, който искате да тествате, за да се уверите, че самостоятелно приложение, разработено се работи според очакванията ви.
Не би трябвало да е изненада, е фактът, че не е възможно да се тества самостоятелно приложение, при стартиране на файла за изпълнение от локалния твърд диск. Вместо това, самостоятелно приложение, трябва да бъдат пуснати на уеб сървър, дали уеб сървър на доставчика на интернет услуги или уеб сървър тест разработчик, например, IIS уеб сървър, който е вграден в Windows.
Тестване самостоятелно приложение се извършва в следната последователност:
Първата стъпка е да се уверите, че предоставянето на манифеста на файлове в настройките на уеб сървър, на MIME-тип текст / кеш-явна. Ако уеб сървъра ще покаже друг вид файл, включително обикновен текстов файл, браузърът ще игнорира напълно манифеста.
Създаване на уеб сървъри, се извършва по различен начин. Например, за уеб сървъра Apache, ще трябва да зададете следния ред към настройките на .htaccess файлове:
Помислете за деактивиране кеширане за обичайните явят файлове. Може да се наложи поради причината, че на уеб сървъра може да даде представа за браузъри кеш файлове в манифеста за известно време, по същия начин, както и други видове файлове. Това поведение е логично, но това може да доведе до големи проблеми.
Проблемът е, че някои браузъри може да игнорира актуализиран файлове манифеста на уеб сървъра и да продължат да използват старите, кеширани явят файлове, така че те също ще продължи да използва старите, кеширани файлове и уеб страници. (Особено грехове не са склонни да се разделят с стари файлове Firefox браузър манифест.) За да се избегне този проблем, трябва да конфигурирате уеб сървъра, така че той не каза на кеша на браузъра явят файлове.
Отворете страницата в браузър, който поддържа самостоятелни приложения, с други думи, почти всеки браузър с изключение на Internet Explorer. Когато браузърът установи, че сайтът използва манифест, той може да поиска разрешение за изтегляне на файлове. Вероятно, че това одобрение ще изисква браузърите на мобилните устройства, поради ограничения капацитет за съхранение. Браузъри настолни компютри могат или да удовлетвори това искане или не. Например, Firefox моли за разрешение за кеширане на Chrome и Safari - не:
Изключете от Интернет. Ако вашите приложения се хостват на отдалечен сървър, просто откъснете връзка. Ако заявлението се поставя върху локалния сървър (т.е. на същия компютър като браузъра), спрете Web сървъра.
Когато бъдете подканени за обикновена страница и когато не сте свързани към интернет, това искане няма да бъде изпълнено. Но при надграждане на самостоятелна страница прилагане на браузъра безпроблемно осигурява копие на страницата от кеша, без дори да информира потребителя за това. Можете да местите от едно приложение самостоятелно на друга страница, но ако следвате връзката към страницата, която не е част от самостоятелно приложение, браузърът ще издаде запознат съобщение за невъзможността да се свържете към отдалечен сървър.
Актуализация на файла на манифеста
Осъществяване на работа самостоятелно приложение - това е само първата част от задачата. Втората част - актуализиране на съдържанието му.
Вземем примера на лабиринт. Ако canvas_labirint.html актуализация на файлове и презаредите страницата, браузърът все пак ще се появи на стария, кеширана версия на страницата, дори ако компютърът е свързан към интернет. Проблемът е, че когато ви спести самостоятелно приложение в кеша на браузъра използва само кешираното копие, без да обръща внимание на онлайн версии на уеб страници и не се провери дали всички промени. И тъй като срокът за съхранение на самостоятелно приложение в кеш паметта никога не изтича, браузърът ще игнорира упорито променените страници на вашия уеб сървър.
Но в същото браузъра рутинно проверява за наличието на нов манифест файл. По този начин, може би си мислите, че всичко, което трябва да направите, за да се реши този проблем - това е да се запишете нов файл на манифест в уеб сървър.
Не е задължително. За да започнете актуализация кеширана приложението офлайн, трябва да отговаря на следните изисквания:
Липсата на файл на манифест за кеширане
Ако браузърът Ви е с локално кеширано копие на файла на манифеста, че никога няма да се провери файла на уеб сървъра. Различните браузъри са подходящи по различни начини до въпрос кеш явят файлове. Някои браузъри (като Chrome) винаги да проверяват за наличието на нов файл на манифест в уеб сървър. Но Firefox следва традиционните правила за кеширане и съхранява локално копие на файла на манифеста за известно време. Следователно, за да се избегнат проблеми в тази област, се уверете, че вашия уеб сървър не показва ясно, кеш явят файлове на клиентите.
В манифеста трябва да се маркира нова дата
Когато браузърът проверява за нова файла на манифеста на сървъра, първото нещо, което изглежда да се види дали последната модификация Времето се промени. Ако не, браузърът няма да се зареди файла на манифеста.
Съдържанието на файла на манифеста трябва да бъдат нови
Ако браузърът установи, че съдържанието на новия манифест файл не се е променило, той спира процеса на актуализиране и продължава да използва по-рано кеширана копие. Това предотвратява потенциално ъпгрейд практика план има практическа цел. Презарежда кеширана заявление отнема време и консумира капацитета на мрежата, така че браузърът той изпълнява само в случаите, когато това е абсолютно необходимо.
Следващият път, когато искате да опресняване на кеша, просто да промените номера на версията, в този пример, 1.00.002 и т.н. По този начин, ние можем да принуди браузъра за опресняване на кеша и да получите начин за проследяване на броя на актуализации.
Новото съдържание не се показва в прозореца на браузъра веднага след изтегляне. Когато браузърът срещне нов манифест файл, той изтегля нови файлове във фонов режим и да подменят своите стари кеширани файлове. Новото съдържание се показва, когато посетителят се отваря или актуализира страницата.
Изчистете кеша на браузъра си
В процеса на тестване на самостоятелно приложение често е полезно да се ръчно изчистване на кеш паметта. По този начин можете да тествате най-новите актуализации, без да се налага да променяте файла на манифеста.
Всички браузъри имат право да кешира почистване, но всеки един от тях е подходящ за решаване на този проблем само по себе си. Най-полезни в това отношение браузъри да следите количеството на съхранение заета от всеки самостоятелно приложение. Това дава възможност да се определи кога кеша не е била успешна, например, прилагането на уеб сайт не се появи в списъка, или сумата на кешираните файлове е по-малко, отколкото трябва да бъде. Той също така ви позволява да изтриете кеширани файлове за отделни обекти, без това да повлияе на другия.