2011-01-16 26 views
8

Erkekler,HTML sessionStorage öğesinin boş olup olmadığını nasıl kontrol edebilirim?

HTML5'te boş depolamayı kontrol etmenin en iyi yolunu bulmaya çalışıyorum.

Bazı tarayıcıların boş değer döndürdüğünü ve oturumStorage öğesinde herhangi bir değer belirlemediyseniz veya boş bırakmadıysanız, yalnızca boş alan döndüğümüzü fark ettim.

aşağıdaki

if (sessionStorage.getItem('value1') == "null" && sessionStorage.getItem('value2') == "null") { 

denedim Ama işe gibiydi vermez.

Bir sessionStorage boş olup olmadığını kontrol etmenin daha iyi bir yolu var mı?

Bu konudaki yardımlarınız için teşekkür eder, şimdiden teşekkür ederim.

cevap

10

Çalışmalı; Sorun şu ki, null tekliflerinde.

Ayrıca, sessionStorage.length, saklanan değerlerin sayısını verecektir.

+0

Merhaba Herohtar, hatayı bana bildirdiğiniz için teşekkür ederim. Gerçekten takdir ediyorum. Bazı tarayıcıların null ve bazı dönen boş alanlara dönmesi durumunda, 2 durum bildirimi oluşturmalı mıyız? Biri boş ve boş alan için mi? –

+0

Her ikisini de kontrol etmeniz gerekiyorsa, yapmanız gereken şey budur. Sadece meraktan, hangi tarayıcı boş alan döndürüyor? Değer ayarlanmamışsa getItem() öğesi null değerini her zaman döndürmelidir. Ayrıca, olası başka bir test için yanıtımı eklediğime bakın. – Herohtar

+0

Merhaba Herohtar, bir document.write (sessionStorage.getItem ('value1')) yaparsanız; çoğu tarayıcı boşsa boş gösterecektir. Ancak, metin girişleri için farklı bir hikaye. IE, metin kutusuna değer olarak null sözcüğünü dahil edecektir. –

4

Ama bu

if (sessionStorage.length == 0) { 
1

Ayrıca madde olup olmadığını kontrol etmek bu

if($window.sessionStorage.value === undefined) {} 
2

kullanın deneyebilirsiniz "boş" oturum depolama için nasıl olacağı "ad"

denilen oturum depolamasını olduğunu
if (sessionStorage['name']) { 
    console.log("There is 'name' in session storage ") 
} 
+0

Kullanarak sessionStorage ['name'] === 'undefined' benim için çalışıyor – moabi

0

ı bu şekilde kontrol etti

$(document).ready(function() { 
     if (window.sessionStorage) { 
      if (sessionStorage.getItem("x-mas") === null) { 
       if (getCountryCode() == 'de') { 
        $('#xmasModal').modal(); 
        sessionStorage.setItem("x-mas", "1") 
       } 
      } 
     } 
    }); 

    function getCountryCode() { 
     var url = window.location.pathname; 
     var segments = url.split('/'); 
     var countrycode = segments[1]; 
     return countrycode; 
    } 
İlgili konular