Proyek ini tidak dikelola secara aktif.
Catatan untuk pengguna sebelum 0.6.0: Offline sebelumnya menggunakan file yang dihosting cloudfront sebagai salah satu metodenya untuk mendeteksi status koneksi. Metode ini sekarang sudah tidak digunakan lagi dan gambarnya telah dihapus. Harap tingkatkan ke Offline 0.7.0+.
Tingkatkan pengalaman aplikasi Anda saat pengguna kehilangan koneksi.
Pantau permintaan ajax untuk mencari kegagalan
Konfirmasikan status koneksi dengan meminta gambar atau sumber daya palsu
Secara otomatis mengambil permintaan ajax yang dibuat saat koneksi terputus dan membuat ulang permintaan tersebut setelah koneksi dipulihkan.
UI sederhana dengan tema yang indah
3kb diperkecil dan dikompresi
Sertakan javascript, salah satu tema, dan salah satu bahasa di situs Anda. Anda sudah selesai!
Untuk hanya menggunakan API JavaScript tanpa indikator UI, tinggalkan saja file CSS.
Jika Anda ingin mengintip tampilannya di situs Anda, putuskan koneksi internet Anda, atau coba simulatornya.
Secara opsional, Anda dapat menyediakan beberapa konfigurasi dengan mengatur Offline.options
setelah membawa skrip.
Opsi (apa pun dapat disediakan sebagai fungsi), dengan defaultnya:
{ // Haruskah kita segera memeriksa status koneksi saat halaman dimuat. checkOnLoad: false, // Haruskah kita memantau permintaan AJAX untuk membantu memutuskan apakah kita memiliki koneksi. intersepRequests: true, // Haruskah kita melakukan tes ulang secara otomatis secara berkala ketika koneksi terputus (disetel ke false untuk menonaktifkan). reconnect: { // Berapa detik kita harus menunggu sebelum memeriksa ulang. initialDelay: 3, // Berapa lama kita harus menunggu di antara percobaan ulang. penundaan: (1,5 * penundaan terakhir, dibatasi pada 1 jam) }, // Haruskah kita menyimpan dan mencoba membuat ulang permintaan yang gagal saat koneksi terputus. permintaan: benar, // Haruskah kami menampilkan permainan ular saat koneksi terputus agar pengguna tetap terhibur? // Ini tidak termasuk dalam build normal, Anda harus membawa js/snake.js selain // offline.min.js. permainan: salah}
Offline.check()
: Periksa status koneksi saat ini.
Offline.state
: Status koneksi saat ini 'naik' atau 'turun'
Offline.on(event, handler, context)
: Mengikat suatu acara. Acara:
up: Koneksi telah berubah dari bawah ke atas
down: Koneksi telah berubah dari atas ke bawah
dikonfirmasi: Tes koneksi telah berhasil, diaktifkan meskipun koneksi sudah aktif
dikonfirmasi-down: Tes koneksi gagal, diaktifkan meskipun koneksi sudah terputus
memeriksa: Kami sedang menguji koneksi
reconnect:started: Kami memulai proses penyambungan kembali
reconnect:stopped: Kami sudah selesai mencoba menyambung kembali
reconnect:tick: Diaktifkan setiap detik selama upaya penyambungan kembali, ketika pemeriksaan tidak dilakukan
reconnect:connecting: Kami terhubung kembali sekarang
reconnect:failure: Upaya pemeriksaan koneksi ulang gagal
request:flush: Setiap permintaan yang tertunda telah dibuat ulang
request:capture: Permintaan baru sedang ditahan
Offline.off(event, handler)
: Melepaskan ikatan suatu acara
Secara default, Offline membuat permintaan XHR untuk memuat /favicon.ico
Anda untuk memeriksa koneksi. Jika Anda tidak memiliki file seperti itu, file tersebut akan menjadi 404 di konsol, tetapi sebaliknya berfungsi dengan baik (bahkan 404 berarti koneksi sudah habis). Anda dapat mengubah URL yang dikliknya (titik akhir yang akan merespons dengan cepat 204 adalah sempurna):
Offline.options = {pemeriksaan: {xhr: {url: '/connection-test'}}};
Pastikan URL yang Anda periksa memiliki asal yang sama dengan halaman Anda (metode koneksi, domain, dan port semuanya harus sama), atau Anda akan mengalami masalah CORS. Anda dapat menambahkan header Access-Control
ke titik akhir untuk memperbaikinya di browser modern, namun hal ini masih akan menyebabkan masalah pada IE9 dan yang lebih lama.
Jika Anda ingin menjalankan pengujian pada domain lain, coba metode image. Itu memuat gambar, yang diizinkan melintasi domain.
Offline.options = {cek: {image: {url: 'my-image.gif'}, aktif: 'image'}}
Satu-satunya peringatan adalah bahwa dengan metode gambar, kami tidak dapat membedakan 404 dari masalah koneksi asli, sehingga kesalahan apa pun akan tampak di Offline sebagai masalah koneksi.
Offline juga mencakup pemeriksaan yang disebut 'up'
dan pemeriksaan lain yang disebut 'down'
yang akan selalu melaporkan naik atau turun masing-masing untuk pengujian. Anda dapat mengaktifkannya dengan menyetel opsi active
, menambahkan atribut data ke tag skrip Anda dengan nama data-simulate
dan nilai 'up'
atau 'down'
, atau dengan menyetel localStorage.OFFLINE_SIMULATE
ke 'up'
atau 'down'
.
Modul reconnect secara otomatis menguji ulang koneksi secara berkala ketika koneksi terputus. Permintaan AJAX yang berhasil juga akan memicu pemeriksaan ulang diam-diam (jika interceptRequests
tidak salah).
Anda dapat menonaktifkan modul penyambungan kembali dengan mengatur reconnect
ke false. Sambungan ulang dapat dikonfigurasi dengan mengatur opsi pada pengaturan sambungan ulang.
Modul permintaan menampung semua permintaan AJAX yang gagal dan, setelah menghapus duplikatnya, membuat ulang permintaan tersebut ketika koneksi dipulihkan.
Anda dapat menonaktifkannya dengan mengatur pengaturan requests
ke false.
Anda juga dapat mengatur deDupBody menjadi true jika Anda ingin melakukan deduping untuk juga mempertimbangkan konten permintaan.
Tidak ada!
Chrome modern, Firefox, Safari, dan IE8+
Perhatikan bahwa tidak semua browser (termasuk Safari dan IE lama) mendukung acara offline, sehingga Offline menggunakan metode pendeteksian yang kurang akurat.