मैं इस बारे में कुछ जानना हो;)
एक मौजूदा डेटाबेस के लिए भंडारण आकार में वृद्धि का अनुरोध के लिए कोई एपीआई नहीं है। वृद्धि को मजबूर करने का एक तरीका है: डेटाबेस को डेटा को इस आकार में लिखें कि वृद्धि की आवश्यकता है, उपयोगकर्ता को संकेत दें। हालांकि, यह और धीमा होगा वर्तमान में आवंटित स्थान बताने का कोई तरीका नहीं है, इसलिए इसकी अनुशंसा नहीं की जाती है।
काले मेंढक यह सही का हिस्सा है: केवल साफ तरीका यह है एक बहुत बड़ी डेटाबेस उदाहरण के लिए जब इसे खोला है अनुरोध करने के लिए, यह है:
openDatabase('databaseName', '1.0', 'My Database', 50*1024*1024, …
... अंतरिक्ष के 50MB अनुरोध करने के लिए।
हालांकि, जब उपयोगकर्ता पहली बार साइट पर जाता है, तो आप उन्हें एक बार में 50 एमबी सीमा के बारे में संकेत नहीं देना चाहेंगे; तो आप सोच सकते हैं कि आप पहले 5 एमबी के लिए पूछ सकते हैं, और फिर इसे 50 एमबी के साथ फिर से खोल सकते हैं? दुर्भाग्यवश, यह काम नहीं करता है - बढ़ी हुई मात्रा के साथ दूसरा खुला प्रयास, चुपचाप सफल होता है, आकार वृद्धि के लिए संकेत नहीं देता है और वास्तव में उपलब्ध आकार में वृद्धि नहीं करता है।
इसलिए एफटी ऐप 5 एमबी "पूर्वावलोकन" डेटाबेस से शुरू होता है, ताकि उपयोगकर्ता को पहले लोड पर संकेत नहीं दिया जा सके। यह इस 5 एमबी सीमा को पार करने की कोशिश नहीं करता है, क्योंकि किसी भी स्थान को सभी डेटाबेस में साझा किया जाना है।
यदि उपयोगकर्ता अधिक सामग्री के संग्रहण की अनुमति देना चुनता है, तो ऐप फिर 40 एमबी स्पेस के साथ एक अलग नाम के साथ डेटाबेस खोलने का प्रयास करता है (जिसके लिए उपयोगकर्ता को 50 एमबी स्वीकृति देने के लिए कहा जाता है)। यह उस डेटाबेस में 40 एमबी और मूल पूर्वावलोकन डेटाबेस में 5 एमबी की अनुमति देता है, इसलिए पंक्तियों को डालने पर न तो विफल होना चाहिए - क्योंकि 50 एमबी कुल वर्तमान में आईओएस पर सीमा है।
सभी ब्राउज़र वर्तमान में डेटाबेस स्पेस सीमाओं को अलग-अलग संभालते हैं, इसलिए यदि आप क्रॉस-प्लेटफ़ॉर्म की योजना बना रहे हैं, तो ध्यान से परीक्षण करें। डेस्कटॉप सफारी इसे काफी अच्छी तरह से संभालती है, जो बहुत बड़ी अनुमति देती है; क्रोम किसी भी वृद्धि की अनुमति नहीं देता है; आदि सभी "एचटीएमएल 5" कार्यान्वयन अजीब मायनों में अलग करने के लिए :)
स्थानीय डेटाबेस भंडारण (एसक्लाइट, 5 एमबी और सही चाल के साथ 50 एमबी तक बड़ा हो सकता है) के साथ स्थानीय-स्टोरेज (कुंजी-मूल्य भंडारण, 5 एमबी हार्ड सीमा) मिश्रण न करें – ohadpr