2013-04-25 19 views
6

Używam następującego kodu do testowania przechowywania sesji HTML 5 .. Działa poprawnie we wszystkich przeglądarkach z wyjątkiem IE. IE wersja zainstalowana wynosi 10.pamięci sesji nie działa w IE

Kod:

<!DOCTYPE html> 
<html> 
<head> 
<script> 
function clickCounter() 
{ 
if(typeof(Storage)!=="undefined") 
    { 
    if (sessionStorage.clickcount) 
    { 
    sessionStorage.clickcount=Number(sessionStorage.clickcount)+1; 
    } 
    else 
    { 
    sessionStorage.clickcount=1; 
    } 
    document.getElementById("result").innerHTML="You have clicked the button " + sessionStorage.clickcount + " time(s) in this session."; 
    } 
else 
    { 
    document.getElementById("result").innerHTML="Sorry, your browser does not support web storage..."; 
    } 
} 
</script> 
</head> 
<body> 
<p><button onclick="clickCounter()" type="button">Click me!</button></p> 
<div id="result"></div> 
<p>Click the button to see the counter increase.</p> 
<p>Close the browser tab (or window), and try again, and the counter is reset.</p> 
</body> 
</html> 

Co może być problemem?

+0

to licznik, który jest zwiększany co e użytkownik kliknie przycisk "kliknij mnie" –

+0

Pokazuje błąd skryptu z powodu nieokreślonego odwołania w warunku if (sessionStorage.clickcount) tylko w IE, tak jak powiedziałeś – Arun

+0

tak nawet po ustawieniu go w pamięci sesji nie działa. –

Odpowiedz

17

Co znalazłem zarówno w pamięci lokalnej, jak i pamięci sesji HTML5, jest to, że obie te funkcje będą działać TYLKO w Internet Explorer, gdy strona będzie renderowana przez HTTP, i nie będą działać, gdy próbujesz uzyskać dostęp do tych funkcji na lokalnym systemie plików, tj próbujesz otworzyć stronę internetową próbki bezpośrednio z systemu plików z URL rodzaju, C:/Users/Mitaksh/Desktop, etc ..

wdrożyć aplikację nad każdym application server jak Tomcat, etc, a następnie do niego dostęp. i możesz zobaczyć zarówno lokalną, jak i sesyjną pamięć w akcji, następnie ..

+2

Jeśli aplikacja jest tworzona przy użyciu Phonegap z kodu, który zawiera lokalną pamięć masową lub pamięć sesji, a aplikacja jest uruchamiana na urządzeniu, które używa IE, jaki będzie wynik? – user2662157