it-swarm.asia

Bagaimana Anda memaksa aplikasi web bookmarked layar awal iPad untuk menyegarkan?

Saya mengalami masalah di mana saya menambahkan aplikasi web ke layar beranda iPad saya (iOS 5.0.1 iPad 2), dan ketika saya membukanya sepertinya ada sesuatu yang tersimpan di balik layar, terlepas dari Safari.

Saya sudah menghapus semuanya dari Safari yang tersedia di Pengaturan (Clear History and Clear Cookies & Data), dan ketika saya menavigasi ke aplikasi web dengan Safari, saya melihat aplikasi dalam keadaan saat ini. Namun jika saya membuka bookmark layar beranda saya mendapatkan aplikasi dalam keadaan pra-diubah.

Saya telah melihat banyak informasi tentang penggunaan cache.manifestasi ke sumber daya cache untuk penggunaan offline, tetapi saya tidak yakin apakah itu relevan dengan ini karena saya ingin sebaliknya: cache nothing.

Saya telah pergi ke tingkat bahkan tidak menguji sumber daya eksternal; jika saya mengubah beberapa string uji acak dalam elemen tubuh index.html saya, bookmark layar beranda tidak menampilkan teks yang diperbarui.

24
M Marsh

Saya pikir saya menemukan solusi:

Versi baru situs hanya muncul ketika file index.html berubah.
(file pertama yang akan dimuat)

Jika Anda meninggalkan index.html dan hanya mengubah beberapa js di file lain maka situs tidak memuat versi baru.

5
christophe

Solusi lain adalah menambahkan? V = 1 ke tautan Javascript dan CSS Anda. Sebagai contoh:

<link rel="stylesheet" type="text/css" media="all" href="./css/ipad.css?v=1">    
<script src="./js/ipad.js?v=1"></script>

Tampaknya seseorang tidak perlu memperbarui nomor ketika file Anda telah berubah, sejauh yang saya tahu. Rupanya, pada iPad 2 dengan pembaruan perangkat lunak terbaru yang diinstal, cukup dengan hanya memberi petunjuk pada sesuatu yang dinamis.

24
Hendrik

Buat cache.manifest yang memerintahkannya untuk tidak pernah menyimpan sumber daya yang dirujuk oleh halaman html utama:

CACHE MANIFEST

# Version 1.0000

NETWORK:
*

Gunakan di index.html Anda:

<!DOCTYPE html>
<html manifest="cache.manifest">

Sekarang setiap kali Anda mengubah file manifes itu - misalnya, dengan menambah nomor versi dalam komentar itu - browser juga akan mengunduh ulang index.html.

Pastikan halaman Anda dimuat ulang ketika cache diperbarui:

<script>
function updateSite(event) {
    window.location.reload();
}
window.applicationCache.addEventListener('updateready', updateSite, false);
</script>

Perpustakaan Pengembang Safari memiliki dokumentasi yang bagus .

9
Tom

Untuk aplikasi webclip iOS kami, kami menggunakan yang berikut ini. Sejauh ini tidak ada masalah cache:

1- Kami memiliki satu file manifes cache yang disebut 'manifest.appcache.php'

<?php
    header("Cache-Control: max-age=0, no-cache, no-store, must-revalidate");
    header("Pragma: no-cache");
    header("Expires: Thu, 01 Jan 1970 00:00:01 GMT");
    header('Content-type: text/cache-manifest'); 
?>

CACHE MANIFEST

CACHE:
# Don't cache anything
FALLBACK:
# Nothing
NETWORK:
# Request everything from server
*

2 - Dalam file HTML yang kita miliki:

<!DOCTYPE html>
<html lang="en" manifest="manifest.appcache.php">
    <head>
...
5
Rabi

Anda dapat memaksa aplikasi web terbuka untuk memuat ulang tanpa menggunakan cache jika Anda memiliki Safari Web Inspector terbuka dan menunjuk pada aplikasi web terbuka Anda. Dengan Inspektur Web aktif, tekan SHIFT + COMMAND + R (pada Mac). Anda mungkin perlu menyegarkan sekali lagi untuk memicu aset yang diperbarui.

2
Sarah

Saya memiliki aplikasi sudut yang saya kembangkan dan mengalami masalah ini ketika mencoba mengujinya di iPad. Dengan menambahkan kueri yang tidak berarti ke akhir url saya bisa mendapatkan versi terbaru dari semua aset. 

www.somesite.com?berarti tanpa pertanyaan

2

Alat pengembang Safari (v12.0.1) terbaru memiliki tombol "Abaikan cache sumber daya" di kanan atas tab Network. Periksa itu, lalu muat ulang.

0
Chen Lim

Saya beruntung dengan mematikan perangkat. Saya telah mengubah manifes aplikasi; tetapi mungkin, Anda perlu menyegarkan atau sesuatu untuk membuat browser mencarinya. Karena saya menghapus chrome browser, tidak ada tombol reset. Kami mencoba "menutup" aplikasi (haha) dan mengusap aplikasi; tapi saya kira iOS cenderung tetap membuat segalanya tetap berjalan. Mematikan melakukan trik untuk membuatnya menyegarkan.

Mungkin ada beberapa gerakan untuk menyegarkan, saya tidak tahu. Mungkin seseorang harus memasukkan sedikit tombol refresh "periksa pembaruan" ke dalam aplikasi web dalam cache. 

0
NathanSmutz