javascript - जावास्क्रिप्ट में स्थानीय स्टोरेज समाशोधन?




local-storage (6)

अगर उपरोक्त सभी काम नहीं कर रहे हैं? तो यह जवाब एक आकर्षण की तरह काम करेगा
https://stackoverflow.com/a/45057698/5902146

जावास्क्रिप्ट में ब्राउजर के स्थानीय स्टोरेज को रीसेट / साफ़ करने का कोई तरीका है?


मुझे लगता है clear(); सभी स्थानीय भंडारण डेटा हटाएं, लेकिन यदि आपको केवल एक आइटम को हटाने की आवश्यकता है, तो आप इसका उपयोग कर सकते हैं:

window.localStorage.removeItem("item_name");

यहां एक ऐसा फ़ंक्शन है जो आपको अपवादों के साथ सभी स्थानीय स्टोरेज आइटमों को हटाने की अनुमति देगा। आपको इस फ़ंक्शन के लिए jQuery की आवश्यकता होगी। आप जिस्ट डाउनलोड कर सकते हैं।

आप इसे इस तरह से कॉल कर सकते हैं

let clearStorageExcept = function(exceptions) {
  let keys = [];
  exceptions = [].concat(exceptions); // prevent undefined

  // get storage keys
  $.each(localStorage, (key) => {
    keys.push(key);
  });

  // loop through keys
  for (let i = 0; i < keys.length; i++) {
    let key = keys[i];
    let deleteItem = true;

    // check if key excluded
    for (let j = 0; j < exceptions.length; j++) {
      let exception = exceptions[j];
      if (key == exception) {
        deleteItem = false;
      }
    }

    // delete key
    if (deleteItem) {
      localStorage.removeItem(key);
    }
  }
};

सबसे पहले चीज़ें, आपको यह सुनिश्चित करने के लिए जांच करनी होगी कि स्थानीय स्टोरेज सक्षम है। मैं इसे इस तरह करने की सलाह दूंगा:

var localStorageEnabled = false;
try { localStorageEnabled = !!localStorage; } catch(e) {};

हां, आप (कुछ मामलों में) देख सकते हैं कि स्थानीय स्टोरेज विंडो ऑब्जेक्ट का सदस्य है या नहीं। हालांकि, अगर आईफ्रेम सैंडबॉक्सिंग विकल्प हैं (अन्य चीजों के साथ) जो अपवाद फेंक देंगे यदि आप इंडेक्स 'लोकल स्टोरेज' तक पहुंचने का भी प्रयास करते हैं। इस प्रकार, सर्वोत्तम प्रथाओं के कारणों के लिए, यह जांचने का सबसे अच्छा तरीका है कि स्थानीय स्टोरेज सक्षम है या नहीं। फिर, आप बस स्थानीय स्टोरेज को साफ़ कर सकते हैं।

if (localStorageEnabled) localStorage.clear();

उदाहरण के लिए, वेबकिट ब्राउज़र में त्रुटि होने के बाद आप स्थानीय स्टोरेज को साफ़ कर सकते हैं।

// clears the local storage upon error
if (localStorageEnabled)
  window.onerror = localStorage.clear.bind(localStorage);

उपरोक्त उदाहरण में, आपको .bind(window) क्योंकि इसके बिना, localStorage.clear फ़ंक्शन localStorage ऑब्जेक्ट ऑब्जेक्ट की बजाय window ऑब्जेक्ट के संदर्भ में चलाएगा, जिससे यह चुपचाप विफल हो जाता है। इसे प्रदर्शित करने के लिए, नीचे दिए गए उदाहरण को देखें:

window.onerror = localStorage.clear;

के समान है:

window.onerror = function(){
    localStorage.clear.call(window);
}

import 'store' from 'store';

// फिर अपने कोड में यह लाइन जोड़ें:

store.clearAll();

window.localStorage.clear(); //try this to clear all local storage





local-storage