2012-03-11 14 views
7

मेरी jquerymobile ऐप को स्थानीय स्टोरेज और सत्र स्टोरेज आदि के उपयोग की आवश्यकता है, मैं कुकी समर्थन के बिना उपयोगकर्ताओं को एक संकेत दे रहा हूं और उन्हें कुकीज़ सक्षम करने के लिए कह रहा हूं, लेकिन यदि उपयोगकर्ता के पास निजी ब्राउज़िंग सक्षम है, तो यह कुकी परीक्षण बना रहा है काम नहीं करता है और उन्हें अभी भी एक ग़लत स्क्रीन मिलती है, क्या किसी को पता है कि उपयोगकर्ता का निजी ब्राउज़िंग सक्षम होने पर मैं कैसे परीक्षण कर सकता हूं?"निजी ब्राउज़िंग" सक्षम आईफ़ोन पर उपयोगकर्ताओं का पता लगाने के लिए कैसे?

धन्यवाद

+0

अगर मैं कोशिश, एप्लिकेशन कीड़े जब उपयोगकर्ता इस मोड में है एक LocalStorage प्रविष्टि बनाते हैं, यहाँ तक कि जब कोशिश पकड़ – Baconbeastnz

+0

विशिष्ट त्रुटि फेंक देता है क्या है में? – levi

+0

यह कोई त्रुटि नहीं फेंक रहा है, यह चुपचाप विफल रहता है! – Baconbeastnz

उत्तर

10

मैं एक Iphone इस पर परीक्षण करने के लिए की जरूरत नहीं है, लेकिन डेस्कटॉप सफ़ारी ब्राउज़र (निजी मोड में) में नीचे समारोह चल रहा त्रुटि को पकड़ करता है और उम्मीद के रूप में यह संभालती है।

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

आईओएस 7.0.3 में कुछ जोड़ने के लिए एक प्रयास किया गया था, यदि कोई और इसका उपयोग करने का निर्णय लेता है तो नाम के लिए 'QUOTAEXCEEDEDERROR' की रिपोर्ट कर रहा है। – Ceres

+7

मैं कैच ब्लॉक के अंदर त्रुटि नाम की जांच छोड़ने का सुझाव दूंगा - यदि स्थानीयस्टॉरेज.सेट इटिम किसी भी प्रकार का अपवाद फेंकता है तो यह फ़ंक्शन शायद झूठी वापसी करनी चाहिए। – bmode

संबंधित मुद्दे