ugrás a tartalomhoz

oldal bezárásakor egy oldal meghívása

hpista · 2007. Jan. 23. (K), 19.42
Sziasztok!

Hogyan tudom azt elérni, hogy ha a felhasználó bezárja az oldalt vagy a böngészőt, akkor egy másik oldalt meg tudjak hívni aminek persze nincs kimenete a böngésző felé?

Megelégszem egy linkkel is, ahol találok erről leírást!

Előre is köszönöm!

Pista
 
1

onUnload

N0r3i · 2007. Jan. 24. (Sze), 16.38
Szia!

A fenti esemény hívódik meg, amikor ellép az oldalról, így ilyenkor elvileg van rá lehetőséged, hogy behívj egy másik oldalt. Az már a Te dolgod, hogy a hívott oldal ad-e vissza bármilyen kimenetet, vagy sem.

Azt próbáld ki, hogy akkor is meghívódik-e az esemény, ha a páciens bezárja a böngészőt - ilyenkor szerintem nincs sok esélyed, de hátha...

N0r3i
2

köszönöm

hpista · 2007. Jan. 25. (Cs), 08.14
Szia!

Köszönöm a válaszod. Közben utánanéztem és kiderült, hogy onUnload eseményre ugyan meg tudok hívni egy másik oldalt a böngésző vagy az oldal bezárásakor, de ez nem teljesen jó megoldás.
Be kell állítani egy változót, amelynek true értéket adok. A linkekre való kattintáskor pedig onClick eseményben ugyanezt a változót false -re állítom.
<script language="javascript" type="text/javascript">
  function bezaras_vizsgalat() {
   if (bezar == true) {
    window.location = "ide_iranyitott_oldal.php";
   }
  }
</script>
<body onUnload="bezaras_vizsgalat();">
<script language="javascript" type="text/javascript">
  bezar = true;
</script>
Ezzel csak az a gond, hogyha a felhasználó frissíti az oldalt, akkor a változó értéke true lesz és át lesz irányítva.
3

nincs értelme

gex · 2007. Jan. 25. (Cs), 10.37
a frissítés talán a legkisebb gond, de ki is lehet kapcsolni a javascriptet és akkor semmi nem fog történni ha bezárom a böngészőt. valószínűleg azért nem találsz erre egy jó megoldást, mert nincs értelme, vagy ahol értelmesnek is tűnt egy onunload esemény, mindig ki lehetett váltani valami mással.

szerintem azt a problémát írd le, amire szerinted az onunload a megoldás, lehet, hogy kapsz egy sokkal jobb ötletet.
4

igazad van

hpista · 2007. Jan. 25. (Cs), 11.40
teljes mértékben a JS-el kapcsolatban.
Az alap probléma az volt, hogy egy webáruházban a kosár tartalmát adatbázisban tároltam. Ha a felhasználó meggondolta magát vásárlás közben és elnavigál az oldalról vagy bezárja az oldalt, akkor ugye a kosárban marad az árú és ennek a darabszáma. JS-el akartam megoldani, hogy a megrendelni kívánt darabszám visszakerüljön a készletbe.
Hát ez nem volt jó ötlet. :)
Végül szerver oldalon megoldottam a dolgot. 12 óra elteltével visszaíródik a "nem megrendelt darabszám" az eredeti készlethez és törlődik az adatbázisból az a munkamenet amely a kosár tartalma.
Ennek az egésznek csak az az értelme, hogy a meg nem rendelt darabszám ismét a készlethez adódjon.

Köszönöm a hozzászólásokat!