Eltávolításí szintaxis meghatározása a következő: localStorage vagy sessionStorage, + ("azonosító_név")
sessionStorage.removeItem("session_azonosítónév");
localStorage.removeItem("local_azonosítónév");
Mielőtt törölnénk bármelyik tárolt változót, győződjünk meg létezésükről.
Ezzel, elkerülhetjük a nem kívánt adattárolásra már létrehozott változó törlését, azaz, csak azt töröljük, melyre nincs szükségünk.
Azt már tudjuk, hogy:
- A SESSION automatikusan törlődik, ha a böngésző programunkat bezárjuk.
- A LOCALIS nem törlődik a böngésző programunk bezárásával, ennek törléséről nekünk kell gondoskodni.
Megjegyzés:
Milyen hibát követhetünk el:
Nehogy hibát kövessünk el, létrehozáskor, módosításkor, törléskor.
Jó tudni, milyen munkamenet változók léteznek, és milyen adatokat tárolnak.
Jelenleg létező, tárolt munkamenet változók elnevezésének, és értékeiknek lekérdezése:
<script language="JavaScript" type="text/javascript" > var ses=0; var loc=0; document.write ("A sessionStorage tömbben tárolt elemek neve, és értéke:<br />"); for ( var i=0; i<sessionStorage.length; i++) { ses++; var neve = sessionStorage.key(i); var erteke=sessionStorage[neve]; document.write ("<b>"+ ses +". "+neve+" = "+ erteke +"</b> <br />"); } document.write ("<br /><br />A localStorage tömbben tárolt elemek neve, és értéke:<br />"); for ( var i=0; i<localStorage.length; i++) { loc++; var neve = localStorage.key(i); var erteke=localStorage[neve]; document.write ("<b>"+ loc +". "+neve+" = "+ erteke +"</b> <br />"); } </script>
-----------------------------------------------------------------------------------------------------------------
Fenti programunk eredménye:
Módosítás, megegyezik a létrehozás menetével.
Módosítás nem más, mint a meglévő változóban tárolt adatok átírása, új értékre.
Meghatározzuk a SESSION vagy LOCAL munkamenet nevét, majd az új tárolandó értéket.
Következő példákban a sessionStorage kerül bemutatásra, de a localStorage esetében is, így kell eljárni.
Ha a localStorage munkamenetet akarjuk módosítani,
akkor a programban látható sessionStorage meghatározást írjuk át, localStorage formátumra.
Elhelyezünk egy html jelölőelemet egyedi "id" azonosítóval, hogy programunk ezen a területen írja ki, az eredményt.
<span id="uj_eredmeny"></span>
----------------------------------------------------------------
1. Így: Zárójelek közé írjuk be, a munkamenet nevét, és az értéket is.
<script type="text/javascript"> // Meglévő SESSION munkamenet értékének módosítása. sessionStorage.setItem("egyedi_azonosító", "érték"); // Módosított SESSION munkamenet értékének kiíratása: document.getElementById("uj_eredmeny").innerHTML = sessionStorage.getItem("egyedi_azonosító"); </script> ----------------------------------------------------------------
2. Vagy így: Munkamenet nevét közvetlen, még az értéket, az egyenlőségjelet követően írjuk be.
<script type="text/javascript"> // SESSION munkamenet létrehozása, adat tárolására. sessionStorage.egyedi_azonosító = "érték"; // SESSION munkamenet lekérdezése, és értékének kiíratása: document.getElementById("uj_eredmeny").innerHTML = sessionStorage.egyedi_azonosító; </script> ----------------------------------------------------------------
3. Vagy így: Változóhoz rendeljük a munkamenet nevét, és az értéket is.
<script type="text/javascript"> Munkanev="ses_tarolo02"; ujAdat="Zöld elefánt"; // Meglévő munkamenet értékének módosítása. sessionStorage.setItem(Munkanev, ujAdat); // Módosított munkamenet értékének kiíratása: id=document.getElementById("uj_eredmeny"); erteke=sessionStorage[Munkanev]; kiiratas=("Munkamenet neve: <b>"+Munkanev+"</b><br /> Új értéke= <b>"+erteke+"</b>"); id.innerHTML = kiiratas; </script> ----------------------------------------------------------------
Fenti programunk eredménye:
Tároló törlésnél, törlődik a megadott munkamenet név, és vele együtt a benne tárolt érték is.
A kiválasztott, tárolt munkamenet változó törlése:
Az xxxxxxxx -ek helyére írjuk azon változó nevét, melyet törölni akarjuk.
<script language="JavaScript" type="text/javascript" > // Kiválasztott SESSION munkamenet változó törlése, böngésző program bezárása előtt. sessionStorage.removeItem("xxxxxxxx"); // Kiválasztott LOCAL munkamenet változó törlése. localStorage.removeItem("xxxxxxxx"); </script>
Példa:
<form name="torles"> Törlendő session munamenet neve:<br /> <input type="text" name="session" value="" size="55"> <br /><br /> <input type="button" value="SESSION Törlése!" onClick="sessionMunkamenet(torles.session)"> <br /><br /> Törlendő local munamenet neve:<br /> <input type="text" name="localis" value="" size="55"><br /><br /> <input type="button" value="LOCAL Törlése!" onClick="localMunkamenet(torles.localis)"> <br /><br /> <input type="reset" name="reset" value="Beírt adat törlése"> </form>
------------------------------------------------------------------------------------------------------------------------
JavaScript programunk.
function letezoSession(letezik) { ses=0; for ( var i=0; i<sessionStorage.length; i++) { van = sessionStorage.key(i); if(letezik == van) { ses=2; break;} // Ha talál egyformát, ciklusból kilépünk. else{ ses=0;} } return ses; } function letezoLocal(letezik) { loc=0; for ( var i=0; i<localStorage.length; i++) { van = localStorage.key(i); if(letezik == van) { loc=2; break;} // Ha talál egyformát, ciklusból kilépünk. else{ loc=0;} } return loc; } function sessionMunkamenet(sessionTorles) { //A "datasession" nevű változó fogja tárolni, az űrlapról kapott értéket. datasession=sessionTorles.value; if(datasession !="") { //Paraméter átadással, meghívjuk a "letezoSession" nevű függvényt. letezoSession(datasession); if(ses >0) { sessionStorage.removeItem(datasession);} else { alert("Ilyen nevű session változó nincs"); } } else{alert("Nem határoztad meg, melyik session változót töröljem");} } function localMunkamenet(localTorles) { //A "datalocal" nevű változó fogja tárolni, az űrlapról kapott értéket. datalocal=localTorles.value; if(datalocal !="") { // Paraméter átadással, meghívjuk a "letezoLocal" nevű függvényt. letezoLocal(datalocal) if(loc >0) { localStorage.removeItem(datalocal); } else{ alert("Ilyen nevű local változó nincs"); } } else{ alert("Nem határoztad meg, melyik local változót töröljem"); } }
Törlést követően, az billentyű leütésével frissítsük az oldalt, hogy a változásról meggyőződhessünk.
A jelenleg létező munkamenet tárolókról információt, az oldal elején lévő lekérdezésnél találhatunk.