国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Inhaltsverzeichnis
Vorwort:
Prinzip und Umgebung
Analyseliste
CACHE-MANIFEST
NETZWERK
FALLBACK
Cache aktualisieren
Demo
緩存立即執(zhí)行
注意事項
Heim Web-Frontend HTML-Tutorial HTML5-Offline-Speicherprinzip

HTML5-Offline-Speicherprinzip

Sep 23, 2016 am 03:30 AM

Vorwort:

Mit HTML5 k?nnen Sie ganz einfach eine Offline-Version einer Webanwendung erstellen, indem Sie eine Cache-Manifestdatei erstellen.

HTML5 führt Anwendungs-Caching ein, was bedeutet, dass Webanwendungen zwischengespeichert und abgerufen werden k?nnen, wenn kein Netzwerk vorhanden ist.

Der Anwendungscache bietet drei Vorteile für Apps:

Offline-Browsing – Benutzer k?nnen sie offline verwenden.

Geschwindigkeit – Zwischengespeicherte Ressourcen werden schneller geladen.

Reduzieren Sie die Serverlast – der Browser l?dt nur ge?nderte Ressourcen vom Server herunter.

Prinzip und Umgebung

Wie oben erw?hnt, basiert die Offline-Speicherung von HTML5 auf einer neu erstellten .appcache-Datei. Durch die 解析清單 Offline-Speicherressourcen werden diese Ressourcen wie Cookies gespeichert . Sp?ter, wenn das Netzwerk offline ist, zeigt der Browser die Seite anhand der offline gespeicherten Daten an.

Genau wie Cookies erfordert auch die Offline-Speicherung von HTML5 eine Serverumgebung.
Hier ist ein kleines Tool – ein einfacher IIS-Server. Platzieren Sie es im Projektaktualisierungsverzeichnis und doppelklicken Sie, um es auszuführen, um die Serverumgebung zu simulieren.
Link: http://pan.baidu.com/s/1jG86UV0 Passwort: ja9h

Analyseliste

Bevor Sie beginnen, müssen Sie die manifest (d. h. die .appcache-Datei) verstehen und wissen, wie die obige 解析清單 geschrieben wird.

Manifestdateien sind einfache Textdateien, die dem Browser mitteilen, was zwischengespeichert wird (und was nicht).

Manifestdateien k?nnen in drei Teile unterteilt werden:

  • CACHE MANIFEST – Die unter dieser überschrift aufgeführten Dateien werden nach dem ersten Download zwischengespeichert
  • NETZWERK – Die unter dieser überschrift aufgeführten Dateien erfordern eine Verbindung zum Server und werden nicht zwischengespeichert
  • FALLBACK – Die unter dieser überschrift aufgeführten Dateien geben die Fallback-Seite (z. B. eine 404-Seite) an, wenn auf die Seite nicht zugegriffen werden kann

Im Online-Modus liest der Benutzeragent das Manifest bei jedem Besuch der Seite. Wenn ?nderungen gefunden werden, werden alle Ressourcen im Manifest neu geladen.

CACHE-MANIFEST

Die erste Zeile, CACHE MANIFEST, ist erforderlich:

<span style="color: #008080;">1</span> CACHE MANIFEST / theme.css /logo.gif / main.js

Die obige Manifestdatei listet drei Ressourcen auf: eine CSS-Datei, ein GIF-Bild und eine JavaScript-Datei. Wenn die Manifestdatei geladen wird, l?dt der Browser diese drei Dateien aus dem Stammverzeichnis der Website herunter. Wenn der Benutzer dann die Verbindung zum Internet trennt, sind diese Ressourcen weiterhin verfügbar.

NETZWERK

Whitelist, verwenden Sie den Platzhalter ?*“. In diesem Status werden alle URLs, die nicht im relevanten Cache-Bereich angezeigt werden, standardm??ig mit der HTTP-bezogenen Cache-Header-Richtlinie versehen.

Der folgende Abschnitt NETZWERK gibt an, dass die Datei ?login.asp“ niemals zwischengespeichert wird und nicht offline verfügbar ist:

<span style="color: #008080;">1</span> NETWORK: login.asp

* kann verwendet werden, um anzugeben, dass alle anderen Ressourcen/Dateien eine Internetverbindung erfordern:

NETWORK: *

FALLBACK

Der folgende FALLBACK-Abschnitt gibt an, dass alle Dateien im Verzeichnis /html5/ durch ?offline.html“ ersetzt werden, wenn keine Internetverbindung hergestellt werden kann:

ALLBACK:/html5/ /404.html

Hinweis: Der erste URI ist die Ressource, der zweite ist der Fallback.

Cache aktualisieren

Sobald eine App zwischengespeichert ist, bleibt sie zwischengespeichert, bis:

  • Benutzer l?scht Browser-Cache
  • Die Manifestdatei wurde ge?ndert
  • Anwendungscache nach Programm aktualisieren

Demo

<span style="color: #0000ff;">case</span>/ |-- index.html | |-- demo.appcache | |-- 簡易IIS服務(wù)器.exe | `-- image |-- HTML5-Offline-Speicherprinzip `-- HTML5-Offline-Speicherprinzip

index.html

 
 
 
    <meta charset="UTF-8"> 
    <title>HTML5離線存儲</title>
 
 
    <img src="/static/imghw/default1.png" data-src="image/HTML5-Offline-Speicherprinzip" class="lazy" alt=""> 
    <img src="/static/imghw/default1.png" data-src="image/HTML5-Offline-Speicherprinzip" class="lazy" alt=""> 
 

demo.appcache

CACHE MANIFEST #v01 image/HTML5-Offline-Speicherprinzip   NETWORK:*FALLBACK: /

Bildordner speichert
HTML5-Offline-Speicherprinzip
HTML5-Offline-Speicherprinzip
HTML5-Offline-Speicherprinzip
HTML5-Offline-Speicherprinzip

Okay, dann führen Sie es aus簡易IIS服務(wù)器.exe Probieren Sie es aus.
Wenn iis eingeschaltet ist
Alt text
Wenn iis ausgeschaltet ist (es ist ausgeschaltet, wird keine Auswirkung sichtbar, wenn es angehalten wird)
Alt text

Sie k?nnen sehen, dass 圖片1 erfolgreich offline angezeigt wurde, 圖片2 jedoch nicht wie gewohnt angezeigt werden kann.

Jetzt m?chte ich die Positionen von 圖片2 und 圖片1 ?ndern.

 
    <img src="/static/imghw/default1.png" data-src="image/HTML5-Offline-Speicherprinzip" class="lazy" alt=""> 
    <img src="/static/imghw/default1.png" data-src="image/HTML5-Offline-Speicherprinzip" class="lazy" alt=""> 

這時候發(fā)現(xiàn)問題來了,html明明修改了為什么圖片沒有置換過來呢,我不是在demo.appcache文件的NETWORK寫了星號嗎?除了CACHE MANIFEST文件其它都采用在線模式。查資料得知:引入manifest的頁面,即使沒有被列入緩存清單中,仍然會被用戶代理緩存。
好吧,那我把.appcache文件更新下,于是乎把頭部的版本號修改一下#v02。刷新下頁面還是沒反應(yīng)!再刷新,有了!為什么?

  對于瀏覽器來說,manifest的加載是要晚于其他資源的. 這就導(dǎo)致check manifest的過程是滯后的.發(fā)現(xiàn)manifest改變.所有瀏覽器的實現(xiàn)都是緊隨這做靜默更新資源.以保證下次pv,應(yīng)用到更新.

?

通過控制臺我們能夠窺探一二:

  • 第一次刷新,應(yīng)用程序緩存更新準(zhǔn)備事件,
    Alt text
  • 第二次刷新才會看到效果。
    Alt text

緩存立即執(zhí)行

我們的產(chǎn)品已經(jīng)更新了用戶卻要第二次進(jìn)來才能夠看到,這樣用戶體驗也太差了吧,有什么方式能夠解決呢?好在html5給javascript提供了相關(guān)的API。

API篇幅太多自行查看把,這里我曬下我測試成功的code:

<span style="color: #008080;"> 1</span> <span style="color: #008000;">/*</span><span style="color: #008000;">code1,簡單粗暴的</span><span style="color: #008000;">*/</span>
<span style="color: #008080;"> 2</span> applicationCache.onupdateready = <span style="color: #0000ff;">function</span><span style="color: #000000;">(){
</span><span style="color: #008080;"> 3</span>   <span style="color: #000000;">applicationCache.swapCache();
</span><span style="color: #008080;"> 4</span>   <span style="color: #000000;">location.reload();
</span><span style="color: #008080;"> 5</span> <span style="color: #000000;">};
</span><span style="color: #008080;"> 6</span> <span style="color: #008000;">/*</span><span style="color: #008000;">code2,緩存公用方法</span><span style="color: #008000;">*/</span>
<span style="color: #008080;"> 7</span> <span style="color: #008000;">//</span><span style="color: #008000;"> var EventUtil = {</span>
<span style="color: #008080;"> 8</span> <span style="color: #008000;">//</span><span style="color: #008000;"> addHandler: function(element, type, handler) {</span>
<span style="color: #008080;"> 9</span> <span style="color: #008000;">//</span><span style="color: #008000;"> if (element.addEventListener) {</span>
<span style="color: #008080;">10</span> <span style="color: #008000;">//</span><span style="color: #008000;"> element.addEventListener(type, handler, false);</span>
<span style="color: #008080;">11</span> <span style="color: #008000;">//</span><span style="color: #008000;"> } else if (element.attachEvent) {</span>
<span style="color: #008080;">12</span> <span style="color: #008000;">//</span><span style="color: #008000;"> element.attachEvent(“on” + type, handler);</span>
<span style="color: #008080;">13</span> <span style="color: #008000;">//</span><span style="color: #008000;"> } else {</span>
<span style="color: #008080;">14</span> <span style="color: #008000;">//</span><span style="color: #008000;"> element["on" + type] = handler;</span>
<span style="color: #008080;">15</span> <span style="color: #008000;">//</span><span style="color: #008000;"> }</span>
<span style="color: #008080;">16</span> <span style="color: #008000;">//</span><span style="color: #008000;"> }</span>
<span style="color: #008080;">17</span> <span style="color: #008000;">//</span><span style="color: #008000;"> };</span>
<span style="color: #008080;">18</span> <span style="color: #008000;">//</span><span style="color: #008000;"> EventUtil.addHandler(applicationCache, “updateready”, function() { //緩存更新并已下載,要在下次進(jìn)入頁面生效</span>
<span style="color: #008080;">19</span> <span style="color: #008000;">//</span><span style="color: #008000;"> applicationCache.update(); //檢查緩存manifest文件是否更新,ps:頁面加載默認(rèn)檢查一次。</span>
<span style="color: #008080;">20</span> <span style="color: #008000;">//</span><span style="color: #008000;"> applicationCache.swapCache(); //交換到新的緩存項中,交換了要下次進(jìn)入頁面才生效</span>
<span style="color: #008080;">21</span> <span style="color: #008000;">//</span><span style="color: #008000;"> location.reload(); //重新載入頁面</span>
<span style="color: #008080;">22</span> <span style="color: #008000;">//</span><span style="color: #008000;"> });</span>

code1一般用在頁面加載時直接觸發(fā),而code2的方式可后期檢查更新。

注意事項

  • 站點離線存儲的容量限制是5M
  • 如果manifest文件,或者內(nèi)部列舉的某一個文件不能正常下載,整個更新過程將視為失敗,瀏覽器繼續(xù)全部使用老的緩存
  • 引用manifest的html必須與manifest文件同源,在同一個域下
  • 在manifest中使用的相對路徑,相對參照物為manifest文件
  • CACHE MANIFEST字符串應(yīng)在第一行,且必不可少
  • 系統(tǒng)會自動緩存引用清單文件的 HTML 文件
  • manifest文件中CACHE則與NETWORK,F(xiàn)ALLBACK的位置順序沒有關(guān)系,如果是隱式聲明需要在最前面
  • FALLBACK中的資源必須和manifest文件同源
  • 當(dāng)一個資源被緩存后,該瀏覽器直接請求這個絕對路徑也會訪問緩存中的資源。
  • 站點中的其他頁面即使沒有設(shè)置manifest屬性,請求的資源如果在緩存中也從緩存中訪問
  • 當(dāng)manifest文件發(fā)生改變時,資源請求本身也會觸發(fā)更新

?

文章來源:http://www.codeceo.com/article/html5-cache.html

侵權(quán)刪

Erkl?rung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Hei?e KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?e Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Hei?e Themen

PHP-Tutorial
1502
276
Implementieren klickbarer Schaltfl?chen mithilfe des HTML -Schaltfl?chenelements Implementieren klickbarer Schaltfl?chen mithilfe des HTML -Schaltfl?chenelements Jul 07, 2025 am 02:31 AM

Um HTML -Schaltfl?chenelemente zu verwenden, um anklickbare Schaltfl?chen zu erreichen, müssen Sie zun?chst die grundlegende Verwendung und gemeinsame Vorsichtsma?nahmen beherrschen. 1. Erstellen Sie Schaltfl?chen mit Tags und definieren Sie Verhaltensweisen durch Typattribute (z. B. Schaltfl?che, Senden, Zurücksetzen), die standardm??ig übermittelt werden. 2. Fügen Sie interaktive Funktionen über JavaScript hinzu, die über ID geschrieben werden k?nnen, um Ereignish?rer zu verbinden, um die Wartung zu verbessern. 3.. Verwenden Sie CSS, um Stile anzupassen, einschlie?lich Hintergrundfarbe, Grenze, abgerundete Ecken und Schwebe-/aktive Statusffekte, um die Benutzererfahrung zu verbessern. 4. Achten Sie auf h?ufige Probleme: Stellen Sie sicher, dass das behinderte Attribut nicht aktiviert ist. Meistere das

Konfigurieren von Dokumentmetadaten im HTML -Kopfelement Konfigurieren von Dokumentmetadaten im HTML -Kopfelement Jul 09, 2025 am 02:30 AM

Metadaten in HTMLhead sind entscheidend für das Verhalten von SEO-, Social Sharing und Browser. 1. Setzen Sie den Seitentitel und die Beschreibung, verwenden Sie es und halten Sie es pr?zise und einzigartig. 2. Fügen Sie OpenGraph- und Twitter -Karteninformationen hinzu, um die Auswirkungen auf die soziale Freigabe zu optimieren, auf die Bildgr??e zu achten und Debugging -Tools zum Testen zu verwenden. 3. Definieren Sie die Einstellungen für den Zeichensatz und die Ansichtsfenster, um sicherzustellen, dass die Unterstützung mehrsprachiger Unterstützung an das mobile Terminal angepasst wird. 4. Optionale Tags wie das Urheberrecht des Autors, die Kontrolle der Roboter und die kanonische Verhindern doppelter Inhalte sollten auch vernünftig konfiguriert werden.

Bestes HTML -Tutorial für Anf?nger im Jahr 2025 Bestes HTML -Tutorial für Anf?nger im Jahr 2025 Jul 08, 2025 am 12:25 AM

Tolearnhtmlin2025, ChooseatutororyThatbalancesHands-On-Practionwithmoderit und IntegrateCsSandjavaScriptbasics.1.PrioritizeHands-OnLearningWithStep-by-Stepprojects-?hnlich

HTML für E -Mail -Vorlagen -Tutorial HTML für E -Mail -Vorlagen -Tutorial Jul 10, 2025 pm 02:01 PM

Wie mache ich HTML -Mail -Vorlagen mit guter Kompatibilit?t? Zun?chst müssen Sie eine Struktur mit Tabellen erstellen, um die Verwendung von Div -Flex- oder Netzlayout zu vermeiden. Zweitens müssen alle Stile eingefügt werden und k?nnen sich nicht auf externe CSS verlassen. Dann sollte das Bild mit ALT -Beschreibung hinzugefügt werden und eine ?ffentliche URL verwenden, und die Schaltfl?chen sollten mit einer Tabelle oder TD mit Hintergrundfarbe simuliert werden. Schlie?lich müssen Sie die Details zu mehreren Clients testen und anpassen.

Wie assoziieren Sie Bildunterschriften mit Bildern oder Medien mithilfe der HTML -Figur und der Figcaption -Elemente? Wie assoziieren Sie Bildunterschriften mit Bildern oder Medien mithilfe der HTML -Figur und der Figcaption -Elemente? Jul 07, 2025 am 02:30 AM

Die Verwendung von HTML -Summen erm?glicht die intuitive und semantische Klarheit, Bildern oder Medien einen Bildunterschriftentext hinzuzufügen. 1.. Wird verwendet, um unabh?ngige Medieninhalte wie Bilder, Videos oder Codebl?cke einzuwickeln; 2. Es wird als erkl?render Text platziert und kann über oder unter den Medien befinden. 3. Sie verbessern nicht nur die Klarheit der Seitenstruktur, sondern verbessern auch die Zug?nglichkeit und den SEO -Effekt. 4. Wenn Sie es verwenden, sollten Sie darauf achten, Missbrauch zu vermeiden, und sich auf Inhalte bewerben, die eher von Beschreibung als von gew?hnlichen dekorativen Bildern betont und begleitet werden müssen. 5. Das Alt -Attribut, das nicht ignoriert werden kann, das sich von Figcaption unterscheidet; 6. Die Figur ist flexibel und kann nach Bedarf oben oder unten in der Figur platziert werden. Wenn Sie diese beiden Tags korrekt verwenden, k?nnen Sie semantische und leicht verst?ndliche Webinhalte erstellen.

Wie kann ich mit Formularen in HTML ohne Server umgehen? Wie kann ich mit Formularen in HTML ohne Server umgehen? Jul 09, 2025 am 01:14 AM

Wenn es keinen Backend-Server gibt, kann die Einreichung von HTML-Formular weiterhin über Front-End-Technologie oder Drittanbieterdienste verarbeitet werden. Zu den spezifischen Methoden geh?ren: 1. JavaScript verwenden, um die Einreichungen von Formulareingaben abzufangen, um die Eingabeüberprüfung und das Benutzerfeedback zu erhalten. Die Daten werden jedoch nicht bestehen. 2. Verwenden Sie serverlose Formulardienste von Drittanbietern wie F?rse, um Daten zu sammeln und E-Mail-Benachrichtigungs- und Umleitungsfunktionen bereitzustellen. 3.. Verwenden Sie LocalStorage, um tempor?re Clientdaten zu speichern, die zum Speichern von Benutzerpr?ferenzen oder zum Verwalten von Anwendungsstatus einseitig geeignet sind, jedoch nicht für die langfristige Speicherung vertraulicher Informationen geeignet sind.

Was sind die am h?ufigsten verwendeten globalen Attribute in HTML? Was sind die am h?ufigsten verwendeten globalen Attribute in HTML? Jul 10, 2025 am 10:58 AM

Klasse, ID, Stil, Daten und Titel sind die am h?ufigsten verwendeten globalen Attribute in HTML. Die Klasse wird verwendet, um einen oder mehrere Klassennamen anzugeben, um die Stileinstellung und JavaScript -Vorg?nge zu erleichtern. ID bietet eindeutige Kennungen für Elemente, die für Anker -Sprünge und JavaScript -Kontrolle geeignet sind. Durch den Stil k?nnen Inline-Stile hinzugefügt werden, geeignet für ein vorübergehendes Debuggen, aber nicht für die Verwendung von gro?em Ma?stab empfohlen. Data-Properties werden verwendet, um benutzerdefinierte Daten zu speichern, was für die Interaktion mit Front-End- und Back-End-Interaktion geeignet ist. Der Titel wird verwendet, um Mausover -Eingaben hinzuzufügen, aber sein Stil und sein Verhalten werden durch den Browser begrenzt. Eine angemessene Auswahl dieser Attribute kann die Entwicklungseffizienz und die Benutzererfahrung verbessern.

Implementierung des nativen faulen Ladens für Bilder in HTML Implementierung des nativen faulen Ladens für Bilder in HTML Jul 12, 2025 am 12:48 AM

Native Lazy Loading ist eine integrierte Browserfunktion, die das faule Laden von Bildern durch Hinzufügen von Loading = "Lazy" zum Tag hinzufügen kann. 1. Es erfordert keine Bibliotheken von JavaScript oder Drittanbietern und wird direkt in HTML verwendet. 2. Es ist für Bilder geeignet, die nicht auf dem ersten Bildschirm unterhalb der Seite, die Scrolling-Add-Ons und gro?e Bildressourcen angezeigt werden. 3. Es ist nicht für Bilder mit dem ersten Bildschirm oder Display geeignet: keine; 4. Bei der Verwendung sollte ein geeigneter Platzhalter festgelegt werden, um Layout -Jitter zu vermeiden. 5. Es sollte das Laden von Responsive Bild in Kombination mit SRCSet- und Gr??enattributen optimieren. 6. Kompatibilit?tsprobleme müssen berücksichtigt werden. Einige alte Browser unterstützen es nicht. Sie k?nnen durch Merkmalserkennung verwendet und mit JavaScript -L?sungen kombiniert werden.

See all articles