2012-03-11 19 views
7

My jquerymobile Uygulaması localStorage ve sessionstorage vb. Kullanımını gerektiriyor, çerez desteği olmayan kullanıcılara bir e-posta gönderip çerezleri etkinleştirmelerini istedim, ancak bir kullanıcı özel göz atma özelliğine sahipse, bu çerez testi oluşturuyorum çalışmıyor ve sadece hatalı bir ekran çıkıyorlar, kullanıcı özel göz atma özelliğinin etkin olup olmadığını nasıl test edebileceğimi bilen var mı?"Özel Tarama" özelliği olan bir iPhone'da kullanıcılar nasıl tespit edilir?

Teşekkür

+0

i bile deneyin catch – Baconbeastnz

+0

o atar belirli bir hata nedir içinde, kullanıcı bu modundayken, uygulama hataları bir localStorage girişi oluşturmak çalışırsanız? – levi

+0

onun bir hata atma, sadece sessizce başarısız! – Baconbeastnz

cevap

10

Bunun üzerinde test etmek için bir Iphone var, ama (özel modda) masaüstü Safari tarayıcıda aşağıdaki fonksiyonları çalıştıran hatayı yakalamak yapar ve beklenen gibi işlediği yoktur.

function storageEnabled() { 
    try { 
     localStorage.setItem("__test", "data"); 
    } catch (e) { 
     if (/QUOTA_?EXCEEDED/i.test(e.name)) { 
      return false; 
     } 
    } 
    return true; 
} 

if (!storageEnabled()) alert('localStorage not enabled'); 

Jsfiddle: http://jsfiddle.net/B9eZ5/

+0

IOS 7.0.3, bir başkasının bunu kullanmaya karar vermesi durumunda 'QUOTAEXCEEDEDERROR' yazıyor. – Ceres

+7

Yakalama bloğu içinde kontrol hata adını atlama öneririm - localStorage.setItem herhangi bir özel durum atarsa, bu işlev muhtemelen false döndürmelidir. – bmode

İlgili konular