ugrás a tartalomhoz

Vissza gombra tartalom frissítése

inf · 2011. Aug. 17. (Sze), 12.14
Sziasztok!

Arról lenne szó, hogy azt szeretném, hogy a tartalom a vissza gomb megnyomásakor frissüljön az oldalon. Mondjuk ha egy webshopról van szó, és hozzáadunk a kosárhoz dolgokat, akkor a vissza gomb megnyomásakor frissüljön, hogy hány cucc van a kosárban.

Csináltam egy kis példa kódot:

1.php

<?php

include('nocache.php');
session_start();

if (isset($_SESSION['a']))
{
	echo '<p>'.$_SESSION['a'].'</p>';
}
echo '<p>Kattints <a href="2.php">ide</a> a hozzáadáshoz.</p>';
2.php

<?php

include('nocache.php');
session_start();

if (!isset($_SESSION['a']))
{
	$_SESSION['a']=0;
}

++$_SESSION['a'];

echo '<p>'.$_SESSION['a'].'</p>';
nocache.php

<?php

header('Cache-Control: private, must-revalidate, max-age=0');
header('Pragma: no-cache');
header('Expires: Sat, 26 Jul 1997 05:00:00 GMT');
Keresés alapján azt találtam, hogy nocache headerek kiküldésével rá lehet bírni a böngészőt ilyesmire. Sajnos nálam ez nem vált be... :S
Tudtok esetleg működő megoldást a témára?
 
1

Elvileg pedig működnie kéne

Hidvégi Gábor · 2011. Aug. 17. (Sze), 12.26
Elvileg pedig működnie kéne így. Milyen böngészőkkel próbáltad?
3

Nos chrome, msie ami működik,

inf · 2011. Aug. 17. (Sze), 12.41
Nos chrome, msie ami működik, firefox, opera, ami nem.
5

FF melyik verzió? Most

H.Z. v2 · 2011. Aug. 17. (Sze), 12.50
FF melyik verzió? Most elmegyek, de este letesztelném a fenti kóddal.
6

3.6.18 De fura, mert most

inf · 2011. Aug. 17. (Sze), 12.57
3.6.18
De fura, mert most hirtelen elkezdett működni... Beleszórtam meta taget meg htaccess-be is betettem header küldést, aztán elkezdett működni, de szerintem ezek nincsenek összefüggésben. Inkább csak az van, hogy szerencsétlenkedik a firefox... :-)
7

No úgy néz ki, hogy firefox

inf · 2011. Aug. 17. (Sze), 13.04
No úgy néz ki, hogy firefox elkezdett működni (ki tudja mitől), az opera viszont még mindig nem megy...

Erre változtattam a nocache.php-t valszeg firefox ezt már szereti...

<?php

Header( "Last-Modified: " . gmdate( "D, j M Y H:i:s" ) . " GMT" );
Header( "Expires: " . gmdate( "D, j M Y H:i:s", time() ) . " GMT" );
Header( "Cache-Control: no-store, no-cache, must-revalidate" ); // HTTP/1.1
Header( "Cache-Control: post-check=0, pre-check=0", FALSE );
Header( "Pragma: no-cache" ); // HTTP/1.0
Úgy látszik a cache control: private még olyan, hogy nem tölti újra, a no-cache viszont már olyan, hogy igen. Az opera ebből a szempontból nem hiszem, hogy sokat számít, kicsi böngésző, meg olyanok használják, akik tisztában vannak a cache fogalmával.
10

Az opera okos. Nem tölt le

deejayy · 2011. Aug. 17. (Sze), 20.22
Az opera okos. Nem tölt le feleslegesen olyan dolgokat, amiről épp most ugrottál tovább. Ez gondolom valami statisztika alapján elég nagy hányadot képez az általad említett esethez képest, amikor azért mész előre, hogy változtass valamit. Nem tudok workaround-ról (bár bevallom nem kerestem), de én ezt a működést várnám el az összes böngészőtől.
11

Annyira nem, hogy semmilyen

Poetro · 2011. Aug. 17. (Sze), 21.18
Annyira nem, hogy semmilyen ellenőrzés nem történik, és szimplán cacheből illetve memóriából történik az oldal betöltődése. Annyira így van ez, hogy ha becsukod a böngészőt, és újraindítod, a megnyitott oldalak azonnal megjelennek (kivéve azok, amelyek HTTP autentikációt igényelnek), természetesen ebben az esetben is cacheből.
12

Take it easy, nem akartam

inf · 2011. Aug. 17. (Sze), 22.09
Take it easy, nem akartam böngészőháborút kirobbantani :D
13

Nem is akartam. Elsődleges

Poetro · 2011. Aug. 17. (Sze), 22.25
Nem is akartam. Elsődleges böngészőm most épp az Opera, és utálom ezt a tulajdonságát (azt, hogy amikor megnyitom a böngészőt egyből frissítenem kell pl. a Követőben, ami mindig meg van nyitva egyébként)
14

Nekem a windows-os FF5.0 is

H.Z. v2 · 2011. Aug. 17. (Sze), 23.33
Nekem a windows-os FF5.0 is ezt csinálja újabban.
Operát meg egyéb hülyeségei miatt utálom úgy, ahogy van. :-)
Használni sohasem használtam üzemszerűen, de amikor egy-egy saját kódot kipróbálok vele, általában az a vége, hogy foglalkozzon vele, akinek két anyja van. :-)
2

Nem megy ki valami szemét a

H.Z. v2 · 2011. Aug. 17. (Sze), 12.40
Nem megy ki valami szemét a header előtt?
4

Nem.

inf · 2011. Aug. 17. (Sze), 12.41
Nem.
8

Én egyszer olvastam egy

Karvaly84 · 2011. Aug. 17. (Sze), 14.35
Én egyszer olvastam egy cikket valahol amiben a böngészők ajax képességeit tesztelték különféle header-ekkel, nem tudom hogy számít e az, hogy XMLHttpRequest-en kommunikálsz vagy sem, elvileg nem kéne... A lényeg, hogy volt kavarodás pl a Cache-Control tekintetében, és más dolgokban is. Ha eszembe jut hol olvastam majd belinkelem, de félek nem fog eszembe jutni nem mostanában volt...
9

Ja a cache-ben nagy

inf · 2011. Aug. 17. (Sze), 14.43
Ja a cache-ben nagy gányolások vannak, még css-el is. Pl a background url-nél is vannak cache problémák, ajax-al szintén, képekkel szintén. :S Mindegy, szerintem ez így jó lesz nekem, operaval nem törődök inkább...