“Dokümanın süresi doldu” mesajını engelleyin ve süresi dolmuş sayfayı gösterilsin mi?


13

Bir form gönderip geri bastığımda, bazen son sayfanın yerine "Dokümanın süresi doldu" iletisini alıyorum.

resim açıklamasını buraya girin

Bunun yerine aşağıdaki can sıkıcı mesaj kutusunu alırdım (şimdi "Tekrar Dene" yi tıkladıktan sonra görünür):

resim açıklamasını buraya girin

Şimdi, do ya bu demek biliyorum ve Firefox bu mesajı gösterir neden. Ancak, bunun yerine yalnızca son görüntülenen sayfayı görmek istiyorum - tıpkı bir saniye önce görüntülendiğinde. Pop-up yok ve sunucunun yeni durumunu yansıtacak şekilde yeniden yükleme yok. (Belki biraz bilgi çubuğu iyi olurdu, ama benim için gerekli değildir).

Kullanım örneği: Düzenli olarak kullandığım bir sitede oturum açtığımı ve Enter tuşuna bastıktan sonra gözümün köşesinde oturum açma sayfasında bir haber başlığı gördüğümü hayal edin. Tekrar tıklamak ve başlığı görmek için bir saniye önce gördüğüm sayfayı tam olarak görmek istiyorum. Giriş yaptığım ön sayfayı görüntülersem veya sadece yeniden yüklersem farklı (rastgele) başlıklar alabilirim.

Öyleyse, "Dokümanın süresi doldu" ve "Onayla" iletilerinden nasıl tamamen kurtulurum ve bir POST formu gönderdikten sonra Firefox'un önbelleğe alınmış son konumu görüntülemesini nasıl sağlarım? about:configayarlar, uzantılar, proxy hileler iyi.


3
Önbelleğe alınmamış bir belgenin önbellek girişinin nasıl görüntüleneceğini soruyorsunuz. Bu mümkün değil.
paa

3
Peki, o zaman uzantı ile Firefox nasıl da önbellek :-) yapmak için soruyorum.
jdm

1
Yapmaya çalıştığım tek şey, sorun ortaya çıkmadan önce bir yere gitmek için tarama geçmişi aracılığıyla yedekleme yapmakla çok karşılaşıyorum . Bu barikatı aşacak bir şeye sahip olmak çok yararlı olacaktır. Ana araç çubuğundaki Geçmiş düğmesini kullanabileceğimi biliyorum, ancak hangi girdinin seçileceğini bulmak genellikle zordur.
Joe

@jdm 1) daha önce gördüğüm şekilde uzaklaştığım sayfanın nasıl görüntüleneceğini soruyorsunuz; 2) ve verileri yeniden göndermek için tarayıcının onay kutusundan nasıl kurtulacağınız. Bunu açıkça anladım mı?
laika

@sjrco: 1) evet, ancak 2 değil). Gitmeden önce tekrar tıklayıp neyin orada olduğunu görmek istiyorum (aynı sayfa durumu). (Bu, js tarafından değiştirilmiş veya kullanıcı formları doldurmuş olsa bile bazı sayfalarda çalışır, bu nedenle tarayıcının bazı durumlarda değiştirilmiş belgeyi kaydetmesi gerekir ). Tarayıcının verileri sessizce yeniden göndermesini istemiyorum. Yine de, verileri yeniden göndermediğinde kalıcı iletişim kutularını bastırmak istiyorum.
JDM

Yanıtlar:


2

Firefox motoru, belgelerin son durumunu önbelleğe almaz (veya etmemelidir), yalnızca sunucu önbelleğe almaya izin veriyorsa HTML belgesinin kendisini önbelleğe alır. Opera bu özelliğe sahipti (veya belki de hala sahipti), ancak web sitesi operatörleri için birçok güvenlik sorununa neden oldu.

RFC 2616 şunları belirtir:

13.4 Yanıt Önbelleklenebilirliği

Bir önbellek denetimi (bölüm 14.9) yönergesi ile özellikle kısıtlanmadığı sürece, bir önbellek sistemi her zaman başarılı bir yanıtı (bkz. Bölüm 13.8) önbellek girişi olarak saklayabilir, taze ise doğrulama olmadan geri gönderebilir ve başarılı doğrulamadan sonra geri gönderebilir .

Günümüzde birçok site, önbellek sorunlarını önlemek için sunucu tarafından oluşturulan tüm yanıtlarda önbellek denetimi üstbilgisini kullanır. Firefox'un size önceki durumda belgeyi vermesini sağlasanız bile, sitelerin çoğunda işe yaramazsa ya da çalışmasaydı. En güvenli ve geleceğe en uygun çözüm, web sitesi sahibinden web sitelerini düzgün bir şekilde kodlamasını istemek olacaktır.


1
Ancak en azından bazı durumlarda son durumu önbelleğe alır. Bunu deneyin: gist.github.com/jdmansour/5578079 . En azından DOM korunuyor.
jdm

1
Tarih ve önbellek aynı şey değildir. Aynı RFC'nin 13.13 bölümüne bakın . Geri düğmesi, önbellek girişinin değil, geçmiş girişinin yeniden görüntülenmesini ister. Opera haklı; Firefox yanlış. Bunun bir "güvenlik" özelliği olduğunu iddia eden herkes aptalca. Her zaman "yeni sekmede aç" seçeneğini kullanabilir, ardından sunucu bunu yaptığınızı bilmeden bir önceki sayfayı görmek için yeni sekmeyi kapatabilirsiniz. Düzgün çalışan bir geri düğmesi tam olarak bu etkiye sahip olmalıdır.

2

Tüm bu iletilerden kurtulmak için tüm komut dosyalarınızın başına aşağıdaki PHP satırlarını ekleyin:

başlık ("Sona erme tarihi: Cts, 01 Ocak 2000 00:00:00 GMT"); başlık ("Son Değiştirme:" .gmdate ("D, d MYH: i: s"). "GMT"); header ("Cache-Control: post-check = 0, ön check = 0", yanlış); session_cache_limiter ( "şart revalidate");


2
@Jdm'nin bahsettikleri sayfalar üzerinde kontrolü olduğundan emin değilim.
Valmiky Arquissandas

2

Cevap https://support.mozilla.org/fr/questions/1010942 adresindedir : Araçlar-> Seçenekler-> Otomatik Önbellek Yönetimini Geçersiz Kıl'a bakın.


Budur! Ayar, Araçlar / Seçenekler / Gelişmiş / Ağ / Otomatik önbellek yönetimini geçersiz kıl altındadır. Tüm "Belge Süresi Doldu" vakaları için çalışıp çalışmadığından emin değilim, ancak POST yanıtının Kaynağını Göremediğim için çalıştım.
RomanSt

Bunun yalnızca önbellek boyutunu ayarlamanıza izin verdiği için bu sorun üzerinde herhangi bir etkisi olmamalıdır: support.mozilla.org/en-US/questions/1037647 Bu yardımcı olursa otomatik olarak belirlenen önbellek boyutunun ne olduğunu merak ediyorum .. .
Nickolay
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.