Rumah hujung hadapan web Tutorial H5 HTML5 menggunakan antara muka ApplicationCache untuk melaksanakan teknologi caching luar talian untuk menyelesaikan masalah luar talian_html5 kemahiran tutorial

HTML5 menggunakan antara muka ApplicationCache untuk melaksanakan teknologi caching luar talian untuk menyelesaikan masalah luar talian_html5 kemahiran tutorial

May 16, 2016 pm 03:50 PM

Pengenalan
Akses luar talian semakin penting untuk aplikasi berasaskan web. Walaupun semua penyemak imbas mempunyai mekanisme caching, ia tidak boleh dipercayai dan mungkin tidak selalu berfungsi seperti yang diharapkan. HTML5 menggunakan antara muka ApplicationCache untuk menyelesaikan beberapa masalah yang disebabkan oleh luar talian.
Menggunakan antara muka cache membawa tiga kelebihan berikut kepada aplikasi anda:
Menyemak imbas luar talian – pengguna boleh menyemak imbas tapak web lengkap anda semasa di luar talian
Kelajuan ​​- sumber cache adalah sumber tempatan, jadi kelajuan memuatkan lebih cepat.
Kurang beban pelayan – penyemak imbas hanya akan memuat turun sumber daripada pelayan yang telah berubah.

Cache Aplikasi (juga dikenali sebagai AppCache) membenarkan pembangun untuk menentukan fail mana yang harus dicache oleh penyemak imbas untuk pengguna luar talian. Walaupun pengguna menekan butang muat semula semasa di luar talian, apl anda akan dimuatkan dan berjalan seperti biasa.
Fail manifes cache
Fail manifes cache ialah fail teks ringkas yang menyenaraikan sumber yang perlu dicache oleh penyemak imbas untuk akses luar talian.
Rujuk fail manifes
Untuk mendayakan cache aplikasi bagi aplikasi, tambahkan atribut manifes pada teg html dokumen:

Salin kod
Kodnya adalah seperti berikut:


...
🎜>
Anda harus menambahkan atribut manifes pada setiap halaman aplikasi web anda yang ingin anda cache. Jika halaman web tidak mengandungi atribut manifes, penyemak imbas tidak akan cache halaman tersebut (melainkan atribut itu disenaraikan secara eksplisit dalam fail manifes). Ini bermakna setiap halaman web yang dilayari pengguna yang mengandungi manifes akan ditambahkan secara tersirat pada cache aplikasi. Oleh itu, anda tidak perlu menyenaraikan setiap halaman dalam inventori anda.
Atribut manifes boleh menunjuk ke URL mutlak atau laluan relatif, tetapi URL mutlak mesti mempunyai asal yang sama dengan aplikasi web yang sepadan. Fail manifes boleh menggunakan sebarang sambungan fail, tetapi mesti disampaikan dengan jenis MIME yang betul (lihat di bawah).


Salin kodKod tersebut adalah seperti berikut:

...



Fail manifes mesti disediakan sebagai jenis MIME teks/manifes cache. Anda mungkin perlu menambah jenis fail tersuai pada pelayan web anda atau konfigurasi .htaccess.
Sebagai contoh, untuk menyediakan jenis MIME ini dalam Apache, tambahkan baris berikut pada fail konfigurasi anda:
AddType text/cache-manifest .appcache Untuk menyediakan ini dalam fail app.yaml Google App Engine jenis MIME, tambahkan berikut:
- url: /mystaticdir/(.*.appcache)
static_files: mystaticdir/1
mime_type: text/cache-manifest
upload: mystaticdir/(. *.appcache) fail manifes struktur
Format manifes mudah adalah seperti berikut:
MANIFEST CACHE
index.html
stylesheet.css
images/logo.png
scripts/main.js Contoh akan cache empat fail pada halaman web yang menentukan fail manifes ini.
Anda perlu memberi perhatian kepada perkara berikut:
Rentetan CACHE MANIFEST hendaklah berada pada baris pertama dan diperlukan.
Saiz data cache tapak web mestilah tidak melebihi 5 MB. Walau bagaimanapun, jika anda menulis apl untuk Kedai Web Chrome, anda boleh menggunakan unlimitedStorage untuk mengalih keluar sekatan ini.
Jika fail manifes atau sumber yang dinyatakan di dalamnya tidak boleh dimuat turun, keseluruhan proses kemas kini cache tidak akan diteruskan. Dalam kes ini, penyemak imbas akan terus menggunakan cache aplikasi asal.
Mari kita lihat contoh yang lebih kompleks:
MANIFEST CACHE
# 2010-06-18:v2
# 'Entri induk' dicache secara eksplisit
CACHE:
/favicon.ico
index.html
stylesheet.css
imej/logo.png
skrip/main.js
# Sumber yang memerlukan pengguna berada dalam talian
RANGKAIAN: log masuk.php
/myapi
http://api.twitter.com
# static.html akan disampaikan jika main.py tidak boleh diakses
# offline.jpg akan dihidangkan sebagai ganti semua imej dalam imej/large/
# offline.html akan dihidangkan sebagai ganti semua fail .html yang lain

FALLBACK: / main.py /static.html
images/large/ images/offline.jpg
*.html /offline.html Baris bermula dengan "#" ialah baris ulasan, tetapi juga boleh digunakan untuk tujuan lain. Cache apl hanya dikemas kini apabila fail manifesnya berubah. Contohnya, jika anda mengubah suai sumber imej atau menukar fungsi JavaScript, perubahan tersebut tidak akan dicapai semula. Anda mesti mengubah suai fail manifes itu sendiri untuk membenarkan penyemak imbas memuat semula fail cache. Membuat baris ulasan dengan nombor versi yang dijana, cincang fail atau cap masa memastikan pengguna mempunyai versi terkini perisian anda. Anda juga boleh mengemas kini cache secara pemrograman apabila versi baharu tersedia, seperti yang diterangkan dalam bahagian Mengemas kini Cache.
Manfes boleh merangkumi tiga bahagian berbeza: CACHE, NETWORK dan FALLBACK.

CACHE: Ini ialah bahagian lalai entri. Fail yang disenaraikan di bawah pengepala ini (atau fail sejurus selepas MANIFEST CACHE) dicache secara eksplisit pada kali pertama ia dimuat turun.

RANGKAIAN: Fail yang disenaraikan di bawah bahagian ini adalah sumber tersenarai putih yang perlu disambungkan ke pelayan. Semua permintaan untuk sumber ini memintas cache tidak kira sama ada pengguna berada di luar talian. Aksara kad bebas boleh digunakan.

FALLBACK: Bahagian ini adalah pilihan dan digunakan untuk menentukan halaman sandaran jika sumber tidak boleh diakses. URI pertama mewakili sumber dan yang kedua mewakili halaman web sandaran. Kedua-dua URI mesti berkaitan dan mesti mempunyai asal yang sama dengan fail manifes. Aksara kad bebas boleh digunakan.
Sila ambil perhatian: Bahagian ini boleh disusun dalam sebarang susunan, dan setiap bahagian boleh muncul berulang kali dalam senarai yang sama.
Senarai berikut mentakrifkan halaman "komprehensif" (luar talian.html) yang dipaparkan apabila pengguna cuba mengakses akar tapak di luar talian dan juga menunjukkan bahawa semua sumber lain (seperti yang terdapat di tapak terpencil) memerlukan sambungan Internet.
MANIFEST CACHE
# 18-06-2010:v3
# Entri cache yang jelas
index.html
css/style.css
# offline.html akan dipaparkan jika pengguna berada di luar talian
FALLBACK:
/ /offline.html
# Semua sumber lain (mis. tapak) memerlukan pengguna berada dalam talian
RANGKAIAN:
*
# Sumber tambahan untuk cache.
CACHE:
images/logo1.png
images/logo2.png
images/logo3.png Sila ambil perhatian: Fail HTML yang merujuk kepada fail manifes akan dicache secara automatik. Jadi anda tidak perlu menambahkannya pada senarai anda, tetapi kami mengesyorkan agar anda melakukannya.

Sila ambil perhatian: Pengepala cache HTTP dan had cache yang ditetapkan pada halaman yang disampaikan melalui SSL akan digantikan dengan manifes cache. Oleh itu, halaman web yang disiarkan melalui https boleh dijalankan di luar talian.

Kemas kini cache Apl akan kekal dicache semasa di luar talian melainkan salah satu daripada yang berikut berlaku:
Seorang pengguna mengosongkan storan data penyemak imbas untuk tapak web anda.
Fail manifes telah diubah suai. Nota: Mengemas kini fail yang disenaraikan dalam manifes tidak bermakna penyemak imbas akan meng-cache semula sumber tersebut. Fail manifes itu sendiri mesti ditukar.
Cache apl dikemas kini secara pengaturcaraan.


Status cache Objek window.applicationCache menyediakan akses program kepada cache aplikasi penyemak imbas. Atribut statusnya boleh digunakan untuk melihat status semasa cache:

Salin kod
Kod adalah seperti berikut:

var appCache = window.applicationCache; >switch ( appCache.status) {
case appCache.UNCACHED: // UNCACHED == 0
kembali 'UNCACHED'; 🎜>kembali 'IDLE';
break;
case appCache.SEMAK: // MENYEMAK == 2
kembali 'SEMAK'; == 3
kembali 'MUAT TURUN';
pecahkan; : // OBSOLETE == 5
kembali 'OBSOLETE';
default:
kembali 'UKNOWN CACHE STATUS'; >
Untuk mengemas kini cache secara pengaturcaraan, mula-mula panggil applicationCache.update(). Operasi ini akan cuba mengemas kini cache pengguna (dengan syarat fail manifes telah ditukar). Akhir sekali, apabila applicationCache.status berada dalam keadaan UPDATEREADY, panggil applicationCache.swapCache() untuk menggantikan cache asal dengan cache baharu.





Salin kod


Kod adalah seperti berikut:


var appCache = window.applicationCache ;
appCache.update(); // Cuba mengemas kini cache pengguna
...
jika (appCache.status == window.applicationCache.UPDATEREADY) {
appCache.swapCache() ; // Pengambilan berjaya, tukar dalam cache baharu
}
Sila ambil perhatian: Menggunakan kemas kini() dan swapCache() dengan cara ini tidak akan memberikan. pengguna Mengemas kini sumber. Proses ini hanya membenarkan penyemak imbas menyemak manifes baharu, memuat turun kemas kini yang ditentukan dan mengisi semula cache apl. Oleh itu, halaman web perlu dimuat semula dua kali untuk menyediakan kandungan baharu kepada pengguna, kali pertama untuk mendapatkan cache aplikasi baharu dan kali kedua untuk memuat semula kandungan halaman web. Berita baiknya, anda boleh mengelakkan kerumitan memuat semula dua kali. Untuk mengemas kini pengguna kepada versi terkini tapak web, anda boleh menyediakan pendengar untuk mendengar acara sedia kemas kini apabila halaman web dimuatkan:



Salin kod


Kodnya adalah seperti berikut:

// Semak sama ada cache baharu tersedia pada pemuatan halaman window.addEventListener('load', function(. e) { window.applicationCache. addEventListener('updateready', function(e) {
if (window.applicationCache.status == window.applicationCache.UPDATEREADY) {
// Penyemak imbas memuat turun apl baharu cache.
// Tukar masuk dan muat semula halaman untuk mendapatkan kehangatan baharu. Muatkan ia ?')) {
tetingkap location.reload();
} } else { // Tiada apa-apa yang baharu kepada pelayan. , false); }, palsu );
ACARA APCACHE

Seperti yang anda jangkakan, acara tambahan digunakan untuk memantau status cache. Penyemak imbas mencetuskan peristiwa yang sepadan untuk kemajuan muat turun, kemas kini cache aplikasi, status ralat, dsb. Coretan kod berikut menyediakan pendengar acara untuk setiap jenis acara cache:





Salin kod


Kod adalah seperti berikut:

function handleCacheEvent(e) {
//...
}
function handleCacheError(e) {
alert('Ralat: Cache gagal dikemas kini!');
};
// Dipecat selepas cache pertama manifes.
appCache.addEventListener('cached', handleCacheEvent, false);
// Menyemak kemas kini. Sentiasa peristiwa pertama dicetuskan dalam urutan.
appCache.addEventListener('checking', handleCacheEvent, false);
// Kemas kini ditemui. Penyemak imbas sedang mengambil sumber.
appCache.addEventListener('memuat turun', handleCacheEvent, false);
// Manifes mengembalikan 404 atau 410, muat turun gagal,
// atau manifes berubah semasa muat turun sedang dijalankan.
appCache.addEventListener('error', handleCacheError, false);
// Dipecat selepas muat turun pertama manifes.
appCache.addEventListener('noupdate', handleCacheEvent, false);
// Dipecat jika fail manifes mengembalikan 404 atau 410.
// Ini mengakibatkan cache aplikasi dipadamkan.
appCache.addEventListener('obsolete', handleCacheEvent, false);
// Dipecat untuk setiap sumber yang disenaraikan dalam manifes semasa ia diambil.
appCache.addEventListener('progress', handleCacheEvent, false);
// Dipecat apabila sumber manifes baru dimuat turun semula.
appCache.addEventListener('updateready', handleCacheEvent, false);

如果清单文件或其中指定的资源无法下载,整个更新都将失败。圅中文。在中文将继续使用原应用缓存
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara Menjalankan Projek H5 Cara Menjalankan Projek H5 Apr 06, 2025 pm 12:21 PM

Menjalankan projek H5 memerlukan langkah -langkah berikut: memasang alat yang diperlukan seperti pelayan web, node.js, alat pembangunan, dan lain -lain. Membina persekitaran pembangunan, membuat folder projek, memulakan projek, dan menulis kod. Mulakan pelayan pembangunan dan jalankan arahan menggunakan baris arahan. Pratonton projek dalam penyemak imbas anda dan masukkan URL Server Pembangunan. Menerbitkan projek, mengoptimumkan kod, menggunakan projek, dan menyediakan konfigurasi pelayan web.

Apa sebenarnya maksud pengeluaran halaman H5? Apa sebenarnya maksud pengeluaran halaman H5? Apr 06, 2025 am 07:18 AM

Pengeluaran halaman H5 merujuk kepada penciptaan laman web yang serasi dengan platform menggunakan teknologi seperti HTML5, CSS3 dan JavaScript. Intinya terletak pada kod parsing penyemak imbas, struktur rendering, gaya dan fungsi interaktif. Teknologi umum termasuk kesan animasi, reka bentuk responsif, dan interaksi data. Untuk mengelakkan kesilapan, pemaju harus disahpepijat; Pengoptimuman prestasi dan amalan terbaik termasuk pengoptimuman format imej, pengurangan permintaan dan spesifikasi kod, dan lain -lain untuk meningkatkan kelajuan pemuatan dan kualiti kod.

Cara membuat ikon klik h5 Cara membuat ikon klik h5 Apr 06, 2025 pm 12:15 PM

Langkah -langkah untuk membuat ikon klik H5 termasuk: menyediakan imej sumber persegi dalam perisian penyuntingan imej. Tambah interaktiviti dalam editor H5 dan tetapkan acara klik. Buat hotspot yang meliputi keseluruhan ikon. Tetapkan tindakan peristiwa klik, seperti melompat ke halaman atau mencetuskan animasi. Eksport dokumen H5 sebagai fail HTML, CSS, dan JavaScript. Menyebarkan fail yang dieksport ke laman web atau platform lain.

Apakah bahasa pengaturcaraan H5? Apakah bahasa pengaturcaraan H5? Apr 03, 2025 am 12:16 AM

H5 bukan bahasa pengaturcaraan yang mandiri, tetapi koleksi HTML5, CSS3 dan JavaScript untuk membina aplikasi web moden. 1. HTML5 mentakrifkan struktur dan kandungan laman web, dan menyediakan tag dan API baru. 2. CSS3 mengawal gaya dan susun atur, dan memperkenalkan ciri -ciri baru seperti animasi. 3. JavaScript melaksanakan interaksi dinamik dan meningkatkan fungsi melalui operasi DOM dan permintaan tak segerak.

Adakah pengeluaran halaman H5 adalah pembangunan front-end? Adakah pengeluaran halaman H5 adalah pembangunan front-end? Apr 05, 2025 pm 11:42 PM

Ya, pengeluaran halaman H5 adalah kaedah pelaksanaan penting untuk pembangunan front-end, yang melibatkan teknologi teras seperti HTML, CSS dan JavaScript. Pemaju membina halaman H5 yang dinamik dan berkuasa dengan bijak menggabungkan teknologi ini, seperti menggunakan & lt; kanvas & gt; Tag untuk menarik grafik atau menggunakan JavaScript untuk mengawal tingkah laku interaksi.

Senario aplikasi apa yang sesuai untuk pengeluaran halaman H5 Senario aplikasi apa yang sesuai untuk pengeluaran halaman H5 Apr 05, 2025 pm 11:36 PM

H5 (HTML5) sesuai untuk aplikasi ringan, seperti halaman kempen pemasaran, halaman paparan produk dan promosi korporat mikro. Kelebihannya terletak pada platformiti silang dan interaktiviti yang kaya, tetapi batasannya terletak pada interaksi dan animasi yang kompleks, akses sumber tempatan dan keupayaan luar talian.

Cara membuat tingkap pop timbul dengan H5 Cara membuat tingkap pop timbul dengan H5 Apr 06, 2025 pm 12:12 PM

H5 POPU-UP Window Penciptaan Langkah: 1. Tentukan kaedah pencetus (klik, masa, keluar, tatal); 2. Kandungan reka bentuk (tajuk, teks, butang tindakan); 3. Set gaya (saiz, warna, fon, latar belakang); 4. Melaksanakan Kod (HTML, CSS, JavaScript); 5. Ujian dan penempatan.

Apa yang dirujuk oleh H5? Meneroka konteks Apa yang dirujuk oleh H5? Meneroka konteks Apr 12, 2025 am 12:03 AM

H5referstohtml5, apivotaltechnologyinwebdevelopment.1) html5introducesnewelementsandapisforrich, dynamicwebapplications.2) itsupp ortsmultimediawithoutplugins, enhancusexperienceaceacrossdevices.3) SemantikelementsImproveContentstructureandseo.4) H5'srespo

See all articles