Heim >Web-Frontend >js-Tutorial >Häufige Fallstricke, die bei der Verwendung von HTML5 -Anwendungs -Cache zu vermeiden sind,
Schlüsselpunkte
HTML5 -Anwendung Caching (auch als Appcache bekannt) ist in letzter Zeit ein heißes Thema für Webentwickler geworden. Mit Appcache können Sie den Website -Besuchern auf Ihrer Website während offline durchsuchen. Sie können sogar Teile der Website wie Bilder, Stilblätter oder Web -Schriftarten in einem Cache auf dem Computer des Benutzers speichern. Dies kann Ihrer Website helfen, schneller zu laden, wodurch die Last auf dem Server verringert wird.
Um AppCache zu verwenden, können Sie eine Manifest -Datei mit der Erweiterung "AppCache" erstellen, z. B. Manifest.appcache. In dieser Datei können Sie alle Dateien auf dem Cache auflisten. Um es auf Ihrer Website zu aktivieren, müssen Sie einen Verweis auf die Manifestdatei auf der Webseite des HTML -Elements angeben, wie unten gezeigt:
<code class="language-html"></code>
Dies ist eine Beispiel -Manifestdatei:
<code>CACHE MANIFEST # 2015-01-23 v0.1 /style.css /logo.gif /script.js NETWORK: * FALLBACK: /server/ /fallback.html</code>
Zusätzlich zu den Vorteilen von AppCache gibt es einige gängige Fallstricke, die vermieden werden sollten, um zu verhindern, dass die Benutzererfahrung gestört und Ihre App zerstört wird.
<code>CACHE MANIFEST # 2015-01-23 v0.1 manifest.appcache page2.css</code>unkachbare Ressourcen auf der Cache -Seite werden
Die im Netzwerkflag angegebene URL ist im Grunde genommen ein "Whitelist", dh die unter diesem Flag angegebene Datei wird immer vom Server geladen, wenn eine Internetverbindung vorhanden ist. Beispielsweise stellt der folgende Code -Snippet sicher, dass Anfragen zum Laden von Ressourcen, die in / api / subtree enthalten sind, immer aus dem Netzwerk geladen werden, nicht aus dem Cache.
<code class="language-html"></code>
Die Manifestdatei sollte immer unter dem richtigen Medientyp-Text/Cache-Manifest bedient werden. Wenn der Medientyp nicht festgelegt ist, funktioniert AppCache nicht.
Es sollte immer in der .htaccess -Datei des Produktionsservers konfiguriert werden. Dies wird in den meisten Tutorials erwähnt, die Appcache erklären, aber viele Entwickler ignorieren dies bei der Migration von Webanwendungen von Entwicklungsservern auf Produktionsserver.
Geben Sie Folgendes in die .htaccess -Datei von Apache ein:
<code>CACHE MANIFEST # 2015-01-23 v0.1 /style.css /logo.gif /script.js NETWORK: * FALLBACK: /server/ /fallback.html</code>
Wenn Sie Ihre App in Google App Engine hochladen, können Sie dieselbe Aufgabe erledigen, indem Sie die folgende Snippet zur App.yaml -Datei hinzufügen:
<code>CACHE MANIFEST # 2015-01-23 v0.1 manifest.appcache page2.css</code>
Wenn keine der in der Manifestdatei angegebenen einzelnen Dateien gefunden oder nicht heruntergeladen werden kann, wird die gesamte Manifestdatei verworfen. Dies ist ein seltsames Verhalten von AppCache, das beim Entwerfen von Webanwendungen berücksichtigt werden sollte, die AppCache verwenden.
Beispiel:
<code>NETWORK: /api</code>
Wenn Sie das Logo.gif löschen, kann AppCache die gelöschte Bilddatei nicht finden, sodass in der Manifestdatei nichts ausgeführt wird.
Sobald Ihr Webbrowser die Cache -Manifestdatei gespeichert hat, wird die Datei selbst, wenn der Benutzer mit dem Internet verbunden ist, aus dem Cache -Manifest geladen. Diese Funktion hilft, die Ladegeschwindigkeit Ihrer Website zu erhöhen und die Serverlast zu verringern.
Da Sie aus dem vorherigen Punkt wussten, dass Daten aus AppCache geladen würden, auch wenn der Benutzer online ist, werden Änderungen an Dateien in der Website oder Server erst dann auftreten, wenn die Manifestdatei aktualisiert ist.
Nach der Aktualisierung der Website müssen Sie immer die Manifestdatei aktualisieren. Andernfalls werden Ihre Benutzer die Änderungen nie sehen. Sie werden nur die zuvor zwischengespeicherten Daten angezeigt. Sie können die Versionsnummer oder das Datum in den Kommentaren in der Manifestdatei aktualisieren, um den Webbrowser des Benutzers zum Herunterladen einer neuen Version der Manifest -Datei zu zwingen. Wenn Sie beispielsweise eine Listendatei verwenden, bevor Sie Änderungen an Ihrer Website vornehmen:
<code>AddType text/cache-manifest .manifest</code>
Es kann in etwas ähnliches wie dem folgenden Codeblock geändert werden, damit der Browser des Benutzers eine neue Kopie der Manifest -Datei herunterladen kann.
<code>- url: /public_html/(.*\.appcache) static_files: public_html/ mime_type: text/cache-manifest upload: public_html/(.*\.appcache)</code>
Bitte beachten Sie, dass Zeilen mit # Kommentarzeilen sind, die nicht ausgeführt werden.
Obwohl die Manifest -Datei einen Verweis auf die Ressource enthalten kann, die aus anderen Domänen zwischengespeichert werden soll, sollte sie dem Webbrowser aus derselben Quelle wie die Host -Seite zur Verfügung gestellt werden. Wenn dies nicht der Fall ist, wird die Manifestdatei nicht geladen. Beispielsweise ist die folgende Manifestdatei korrekt:
<code>CACHE MANIFEST # 2015-01-23 v0.1 /style.css /logo.gif /script.js</code>
Hier geben wir an, was wir im Browser -Cache des Benutzers speichern möchten, auf das aus einer anderen Domäne verwiesen wird, was absolut in Ordnung ist.
Eine wichtige Sache zu beachten ist, dass die relative URL, die Sie im Manifest erwähnt haben, relativ zur Manifestdatei und nicht in Bezug auf das Dokument, auf das Sie auf die Manifestdatei verweisen. Wenn sich das Manifest und die Referenz nicht auf demselben Weg befinden, wird die Ressource nicht geladen und die Manifestdatei wird nicht geladen.
Wenn Ihre Anwendungsstruktur so aussieht:
<code class="language-html"></code>
Dann sollte Ihre Manifestdatei so aussehen:
<code>CACHE MANIFEST # 2015-01-23 v0.1 /style.css /logo.gif /script.js NETWORK: * FALLBACK: /server/ /fallback.html</code>
Sie können programmgesteuert prüfen, ob Ihre Anwendung eine aktualisierte Version des Cache -Manifests verwendet, indem Sie das Fenster testen.ApplicationCache.status. Hier sind ein Beispielcode:
<code>CACHE MANIFEST # 2015-01-23 v0.1 manifest.appcache page2.css</code>
Ausführen des oben genannten Code auf der Website informieren Sie, wann neue Updates der AppCache -Liste verfügbar sind. Beachten Sie, dass Updateready ein definierter Zustand ist. Sie können sogar die SWAPCache () -Methode in der Funktion onUpDateready () verwenden, um die alte Manifestdatei durch die neue Manifestdatei zu ersetzen:
<code>NETWORK: /api</code>
Appcache ist eine nützliche Technik, aber wie wir gesehen haben, seien Sie vorsichtig, wenn Sie sie in einem Projekt implementieren. Entwickler sollten selektiv auswählen, was in der Manifestdatei enthalten sein soll. Im Idealfall sollte die Manifest -Datei statische Inhalte wie Stylesheets, Skripte, Web -Schriftarten und Bilder enthalten. Sie sind jedoch immer der beste Richter darüber, was in der Manifest -Datei enthalten ist. Appcache ist ein zweischneidiges Schwert. Seien Sie also vorsichtig, wenn Sie es verwenden!
Die meisten der oben genannten Inhalte wurden an anderer Stelle eingeführt, und es gibt einige andere wichtige Punkte. Weitere Informationen finden Sie in den folgenden Ressourcen:
HTML5 Application Cache (AppCache) ist eine Funktion, mit der Entwickler angeben können, welche Dateien vom Browser zwischengespeichert werden sollen, und sie für Benutzer zur Offline verfügbar machen. Dies ist wichtig, da es die Leistung Ihrer Webanwendung verbessern kann, indem der Serverlast reduziert und Bandbreite speichert. Außerdem können Anwendungen auch dann ausgeführt werden, wenn Benutzer offline sind und eine bessere Benutzererfahrung bieten.
HTML5 -Anwendung Caching funktioniert mithilfe von Manifestdateien. Diese Datei listet die Ressourcen auf, die der Browser für die offline -Verwendung zwischenspeichern sollte. Wenn ein Benutzer auf eine Webseite zugreift, prüft der Browser, ob die Manifestdatei zugeordnet ist. In diesem Fall lädt der Browser die aufgelisteten Ressourcen herunter und speichert. Wenn ein Benutzer das nächste Mal eine Webseite besucht, lädt der Browser die zwischengespeicherten Ressourcen, anstatt sie vom Server herunterzuladen.
Bei der Verwendung von HTML5 -Anwendungen umfassen einige gängige Fallstricke: Nicht ordnungsgemäß aktualisiert werden, was alte Ressourcen zur Verfügung stellt; Gerätespeicher.
Um diese Fallstricke zu vermeiden, aktualisieren Sie die Manifest -Datei immer korrekt, wenn sich die Ressourcen ändert. Verwenden Sie den Netzwerkabschnitt der Manifestdatei, um Ressourcen anzugeben, die niemals zwischengespeichert werden sollten. Berücksichtigen Sie außerdem den Gerätespeicher und Cache des Benutzers nur die erforderlichen Ressourcen.
HTML5 -Anwendungs -Cache wird veraltet, ersetzt durch Dienstangestellte. Servicearbeiter bieten mehr Kontrolle über Caches und können komplexere Szenarien bewältigen. Servicearbeiter werden derzeit jedoch von nicht allen Browsern unterstützt. Daher ist es immer noch wichtig, das Caching von HTML5 -Anwendungen zu verstehen und zu verwenden.
Die Manifestdatei ist eine einfache Textdatei, in der die zugeschnittenen Ressourcen aufgeführt sind. Es sollte als MIME-Typ "Text/Cache-Manifest" serviert werden. Die erste Zeile der Datei sollte "Cache Manifest" sein, gefolgt von der zugeschnittenen Ressource.
Um eine Webseite mit einer Manifestdatei zu verknüpfen, fügen Sie das "Manifest" -attribut "html" der Webseite hinzu. Der Wert des "Manifest" -attributs sollte die URL der Manifestdatei sein.
Um den Cache zu aktualisieren, ändern Sie Änderungen an der Manifestdatei. Jedes Mal, wenn ein Benutzer eine Webseite besucht, prüft der Browser nach Updates in der Manifestdatei. Wenn die Manifestdatei geändert wurde, wird der Browser die neue Ressource herunterladen und zwischenstrahlt.
Wenn die in der Manifestdatei aufgeführten Ressourcen nicht heruntergeladen werden können, fehlschlägt der gesamte Cache -Update -Prozess. Der Browser wird weiterhin den alten Cache verwenden.
Obwohl Sie technisch gesehen HTML5 -Anwendungscache für alle Ressourcen verwenden können, wird dies nicht empfohlen. Übermäßiger Ressourcencache kann den Gerätesteicher des Benutzers füllen und die Leistung negativ beeinflussen. Es ist am besten, nur die notwendigen Ressourcen zu speichern.
Das obige ist der detaillierte Inhalt vonHäufige Fallstricke, die bei der Verwendung von HTML5 -Anwendungs -Cache zu vermeiden sind,. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!