আপডেট (2016-11-01)
আমি এই সমস্যাটি নিয়ে কাজ করার জন্য নীচে উল্লিখিত অ্যাম্প্লিফাইজেএস ব্যবহার করছিলাম। তবে, ব্যক্তিগত ব্রাউজিংয়ে সাফারির জন্য, এটি মেমরি-ভিত্তিক স্টোরেজে ফিরে আসছিল। আমার ক্ষেত্রে এটি যথাযথ ছিল না কারণ এর অর্থ হ'ল স্টোরেজটি রিফ্রেশে সাফ হয়ে গেছে, এমনকি ব্যবহারকারী এখনও ব্যক্তিগত ব্রাউজিংয়ে থাকলেও।
এছাড়াও, আমি বেশিরভাগ ব্যবহারকারীর খেয়াল করেছি যে সবসময় আইওএস সাফারিতে প্রাইভেট মোডে ব্রাউজ করছে। যে কারণে, সাফারির জন্য আরও ভাল ফ্যালব্যাক হ'ল কুকিজ ব্যবহার করা (যদি উপলভ্য থাকে)। ডিফল্টরূপে, কুকিগুলি এখনও ব্যক্তিগত ব্রাউজিংয়ে অ্যাক্সেসযোগ্য। অবশ্যই, ব্যক্তিগত ব্রাউজিং থেকে বেরিয়ে যাওয়ার সময় এগুলি সাফ করা হয়, তবে তা রিফ্রেশ করার সময় সাফ করা হয় না।
আমি লোকাল-স্টোরেজ-ফ্যালব্যাক লাইব্রেরি পেয়েছি । ডকুমেন্টেশন থেকে:
উদ্দেশ্য
"প্রাইভেট ব্রাউজিং" এর মতো ব্রাউজার সেটিংসের সাহায্যে এটি একটি নতুন ওয়ার্ল্ড ব্রাউজারে এমনকি একটি कार्यरत উইন্ডো.লোকাল স্টোরেজ, এমনকি নির্ভর করাতে সমস্যা হয়ে দাঁড়িয়েছে। এটি উপস্থিত থাকতে পারে তা সত্ত্বেও সেট আইটেম বা গেট আইটেম ব্যবহার করার চেষ্টা করার সময় এটি ব্যতিক্রম ছুঁড়ে দেবে। এই মডিউলটি ব্রাউজার স্টোরেজ প্রক্রিয়াটি কী উপলভ্য হতে পারে তা দেখতে এবং তারপরে তা প্রকাশ করতে যথাযথ চেক পরিচালনা করবে। এটি লোকালস্টোরেজের মতো একই এপিআই ব্যবহার করে তাই বেশিরভাগ ক্ষেত্রে এটি ড্রপ-ইন প্রতিস্থাপন হিসাবে কাজ করা উচিত।
গোটাচা থেকে সাবধান:
- কুকি স্টোরেজের স্টোরেজ সীমা রয়েছে। এখানে সাবধান।
- মেমোরি স্টোরেজ পৃষ্ঠা লোডের মধ্যে স্থির থাকবে না। পৃষ্ঠা ক্র্যাশগুলি রোধ করতে এটি কমবেশি একটি স্টপ-গ্যাপ, তবে পুরো পৃষ্ঠা লোড না করে এমন ওয়েবসাইটগুলির পক্ষে এটি পর্যাপ্ত হতে পারে।
টি এল; ডিআর:
ব্যবহার করুন স্থানীয়-স্টোরেজ-ফলব্যাক (সঙ্গে ইউনিফাইড এপিআই .getItem(prop)
এবং .setItem(prop, val)
):
ব্রাউজারের জন্য উপযুক্ত স্টোরেজ অ্যাডাপ্টারটি পরীক্ষা করুন এবং ব্যবহার করুন (লোকালস্টোরেজ, সেশনসোজার, কুকিজ, মেমরি)
আসল উত্তর
পূর্ববর্তী উত্তরগুলি যুক্ত করার জন্য, এক সম্ভাব্য কাজটি হ'ল স্টোরেজ পদ্ধতি পরিবর্তন করা। এমপ্ল্লিফজেজেএস এবং পার্সিস্টজেএস এর মতো কয়েকটি গ্রন্থাগার রয়েছে যা সহায়তা করতে পারে। উভয় libs বিভিন্ন ব্যাকেন্ডের মাধ্যমে স্থায়ী ক্লায়েন্ট-পার্শ্ব স্টোরেজকে অনুমতি দেয়।
এমপ্লিফাইজেএস এর জন্য
localStorage
- IE 8+
- ফায়ারফক্স 3.5+
- সাফারি 4+
- ক্রৌমিয়াম
- অপেরা 10.5+
- আইফোন 2+
- অ্যান্ড্রয়েড 2+
sessionStorage
- IE 8+
- ফায়ারফক্স 2+
- সাফারি 4+
- ক্রৌমিয়াম
- অপেরা 10.5+
- আইফোন 2+
- অ্যান্ড্রয়েড 2+
globalStorage
ব্যবহারকারী তথ্য
- আইই 5 - 7
- ইউজারডাটা আইআই এর নতুন সংস্করণগুলিতেও উপস্থিত রয়েছে, তবে আইই 9 এর বাস্তবায়নে কোয়ার্কের কারণে আমরা লোকালস্টোরেশন সমর্থিত হলে ইউজার ডেটা নিবন্ধন করি না।
স্মৃতি
- অন্য কোনও স্টোরেজ প্রকারের মধ্যে যদি না পাওয়া যায় তবে একটি ইন-মেমরি স্টোর ফ্যালব্যাক হিসাবে সরবরাহ করা হয়।
পার্সেন্টেন্ট জেএস এর জন্য
- ফ্ল্যাশ: ফ্ল্যাশ 8 অবিরাম স্টোরেজ।
- গিয়ার্স: গুগল গিয়ার্স-ভিত্তিক স্থির স্টোরেজ।
- স্থানীয় স্টোরেজ: এইচটিএমএল 5 খসড়া স্টোরেজ।
- গ্লোবাল স্টোরেজ: এইচটিএমএল 5 খসড়া স্টোরেজ (পুরানো অনুমান)।
- যেমন: ইন্টারনেট এক্সপ্লোরার ইউজারডটা আচরণ vi
- কুকি: কুকি ভিত্তিক স্থির স্টোরেজ।
এগুলি একটি বিমূর্ততা স্তর সরবরাহ করে যাতে আপনার স্টোরেজ ধরণের পছন্দ করার বিষয়ে চিন্তা করতে হবে না। মনে রাখবেন স্টোরেজ ধরণের উপর নির্ভর করে কিছু সীমাবদ্ধতা থাকতে পারে (যেমন আকার সীমা)। এই মুহূর্তে, আমি এমপ্লিফাইজেএস ব্যবহার করছি তবে আইওএস 7 / সাফারি / ইত্যাদিতে আমাকে আরও কিছু পরীক্ষা করতে হবে। এটি আসলে সমস্যাটি সমাধান করে কিনা তা দেখার জন্য।