Geçen ay için oldukça karmaşık bir HTML5
web uygulaması geliştirmekteyim. Dün gece iPhone
aniden tüm JS, CSS ve görüntüleri önbelleğe almaya karar verdi ve güncellenmiş kopyaları yüklemedi. Bu, eşimin iPhone
numaralı telefonunda da oldu. Bu yüzden, uygulamanızın tüm kullanıcılarını etkilediğini varsayacağım.iOS Web App - overcealous uygulaması önbellekleme ile nasıl başa?
İnternet bağlantısının silinmesi, web uygulamasının silinmesi, telefonun yeniden başlatılması, kablosuz bağlantıyı yeniden başlatmanın & sorununun giderilmesi için hiçbir şey yapmadığını söylemeye gerek yok.
<meta name="apple-mobile-web-app-capable" content="yes">
'un kaldırılması sorunu çözüyor, ancak uygulamanın bir uygulama gibi çalışması için gerektiğinden yeni bir sorun oluşturuyor.
Tüm skriptlerimizin, stil sayfalarımızın ve resimlerin sonuna, eski trick ?number
ekleyemeyiz. Saçma. Ayrıca - 'un böyle bir şeyi uygulamak için olsaydı, bir çeşit dinamik JS uygulaması olması gerekirdi. Bizim app çoğu betikleri yükleyen bir HTML sayfası ve ek sayfaları AJAXed, ek veri de AJAX ile elde edilir. Sanırım bu yapılabilirdi, ama daha zarif bir çözüm bulmayı umuyorum. Biliyorum, bu yüzden tüm bir ay boyunca bir aksama olmadan çalıştı bir şey yapmak zorunda olmamalı gibi hissediyorum.
bu tamamen bir iOS web uygulaması sorunudur olarak, ya bize bir faydası yapmaz cache-control
, expires
ve pragma
<meta>
etiketleri kullanma. Önbelleğe alma, normalde mobil Safari, mobil Chrome ve tüm masaüstü tarayıcılarında çalışır. IOS'un, kullanıcı tarafından temizlenemediği web uygulamaları da dahil olmak üzere uygulamalar için ayrı bir önbelleği olduğu anlaşılıyor.
Birçok SO kullanıcısı bu sorunla karşılaştı gibi görünüyor, ancak tatmin edici çözümler bulamıyorum. Benzer bir durumda herhangi biri bu sorunu çözdü mü? Birkaç dosyayı önbelleğe almak için belirtmek için bir bildirim dosyası kullanabilir miyim? Görünmez dosyalar tersini yapmak için kullanılıyor gibi görünüyor.
, iOS7'de hala (büyük) bir sorun olduğunu doğruladı –
[HTML Uygulama Önbelleği] kullanıyor musunuz (http://www.html5rocks.com/en/tutorials/appcache/beginner/)? Aksi takdirde, iOS web uygulaması önbelleğini, güncellenmesi gereken dosyalarla birlikte bir appcache manifest dosyası oluşturarak önbelleğe dökülmesini 'kandırabilirsiniz'. Daha sonra değişiklik yapmanız ve değişiklikleri test etmeniz gerektiğinde, web sunucunuzdaki manifest dosyasının adını değiştirerek bildirimi devre dışı bırakın. Bu, depodaki bildirim ve önbelleğe alınmış dosyaları geçersiz kılar çünkü sunucudaki bildirim bulunamadı. – BigMacAttack
Uygulama Önbelleği kullanılmıyor veya bildirim kullanılmıyor. Web uygulaması 'üretim' ortamında kullanılır. Mevcut bir kurulumda sistemimizin bir güncellemesini yapmak ve önbelleği kandırmak için bir dosya adını değiştirmek mümkün değildir. Geliştirme ortamımda, test için dosya adına kolayca bir sayı ekleyebilirim, ancak OP'nin dediği gibi, üretim ortamında –