জাভাস্ক্রিপ্টে স্থানীয় স্টোরেজ সাফ?


746

জাভাস্ক্রিপ্টে ব্রাউজারের স্থানীয় স্টোরেজ পুনরায় সেট / পরিষ্কার করার কোনও উপায় আছে কি?

উত্তর:


1371

লোকালস্টোরেজ সাফ করার জন্য এটি ব্যবহার করুন:

localStorage.clear();

6
পছন্দ করেছেন আপনার অ্যাপ্লিকেশন আবার সেট আপ করতে পারে?
ভাগান

5
আমার অ্যাপ্লিকেশন শুরু হওয়ার পরে আমি লোকালস্টোরজেজ ক্লেয়ার () কল করি, তবে আমি ব্রাউজারটি বন্ধ করে দিলেও, সাফ ক্যাশে ইত্যাদি, ডেটা এখনও আছে। আমি এটি জানি কারণ আমি আমার মডেলটিতে একটি "উদাহরণ" সম্পত্তি সেট করে একটি এলোমেলো সংখ্যায় আরম্ভ করার জন্য সেট করেছি এবং প্রদত্ত আইডির জন্য, উদাহরণ সম্পত্তি সর্বদা একই থাকে।
sydneyos

11
@ ডিজিটাল-প্লেন এটি কি কোনও নির্দিষ্ট ডোমেন বা সমস্ত স্টোরেজ থেকে স্থানীয় সঞ্চয়স্থান সাফ করবে?
ক্রসন

18
clear()আপনি যে নির্দিষ্ট ডোমেনটিতে রয়েছেন তা থেকে সমস্ত স্থানীয় স্টোরেজ কী এবং মানগুলি সরিয়ে ফেলবে। জাভাস্ক্রিপ্ট সিওআরএসের কারণে অন্য কোনও ডোমেন থেকে লোকাল স্টোরেজ মান পেতে অক্ষম।
ফিজিক্স

1
@ বেকডইনহেল্ফ ঠিক আছে, আপনি পৃষ্ঠাটি শক্ত করে রিফ্রেশ না করা পর্যন্ত এটি স্থায়ী থাকে। আপনি যখন নিজের লোকাল স্টোরেজ সাফ করুন এবং ঠিক এর পরে পূরণ করুন, তখন এটি পূর্ববর্তী সামগ্রীটি পুনরুদ্ধার করে এবং এতে আপনাকে নতুন আইটেম যুক্ত করে। আপনি যখন আপনার লোকাল স্টোরেজ সাফ করে এবং একটি হার্ডফ্রেশ করছেন তখন এটি খালি থাকে এবং আপনি এটি আবার পূরণ করা শুরু করতে পারেন।
সাইবার

198

আপনি যদি ব্যবহারকারীর স্থানীয় স্টোরেজ থেকে কোনও নির্দিষ্ট আইটেম বা পরিবর্তনশীল মুছতে চান তবে আপনি এটি ব্যবহার করতে পারেন

localStorage.removeItem("name of localStorage variable you want to remove");

1
হাই, @ অজিত যদি আমি কোনও নির্দিষ্ট আইটেমের জন্য সরাতে না চাই তবে এটিও করার কোনও উপায় আছে কি? উদাহরণস্বরূপ 'অপসারণ আইটেমটোটিন (কী)', 'একটি সংজ্ঞায়িত কী বাদে সমস্ত অপসারণ করবেন'? আগাম ধন্যবাদ.
মি_ডিভোপার

হাই, @ শ্যাডো আমি যদি কোনও নির্দিষ্ট আইটেমটির জন্য মুছে ফেলতে না চাই তবে এটিও করার কোনও উপায় আছে? উদাহরণস্বরূপ 'অপসারণ আইটেমটোটিন (কী)', 'একটি সংজ্ঞায়িত কী বাদে সমস্ত অপসারণ করবেন'? আগাম ধন্যবাদ.
মি_ডিভোপার

আমি আমার সমস্যার সমাধান খুঁজে পেয়েছি: - যদি (লোকালস্টোরেজ.জেটআইটেম (বিশেষকী) == নাল) {লোকালস্টোররেজ ক্লেয়ার (); } তবে আপনার যদি আরও ভাল সমাধান থাকে তবে আমাকে জানান। ধন্যবাদ।
মি_ডিভোপার

1
@ এলিয়ারার তাই আপনি একটি নির্দিষ্ট কী বাদে সমস্ত কী সরিয়ে দিতে চান , তাই না? তার জন্য আপনি এর মতো কিছু করতে পারেন var key; for (var i = 0; i < localStorage.length; i++) { key = localStorage.key(i); if(key != particularKey){ localStorage.removeItem(key); } }
অজিত লখানী

1
এছাড়াও সম্ভব: মানটি পাওয়া, সাফ করা এবং মানটি আবার সেট করা, আরও বহুমুখী। let tmp = localStorage.getItem('<your-name>'); localStorage.clear(); localStorage.setItem('<your-name>')
মাইকেল বি


11

এখানে এমন একটি ফাংশন রয়েছে যা আপনাকে ব্যতিক্রম সহ সমস্ত লোকাল স্টোরেজ আইটেমগুলি সরাতে দেয়। এই ফাংশনের জন্য আপনার 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);
    }
  }
};

1
অদ্ভুত জিনিস যে undefinedজন্য একটি বৈধ চাবিকাঠি setItemএবংgetItem
ebob

@ ইবোব হ্যাঁ, এটি অদ্ভুত বলে মনে হতে পারে, তবে না, আসলে তা তা নয়। লোকালস্টোরেজ একই ধরণের অবজেক্টগুলিতে ফাংশন করে যাতে কীগুলিকে স্ট্রিংয়ে রূপান্তর করা হয়। উদাহরণস্বরূপ, এই মত একটি কী-এর মত undefined ব্যবহার হচ্ছে: localStorage.setItem(undefined, 'example Txt!')বলা কী নীচে সংরক্ষণ actuall হবে 'undefined'হিসাবে আপনি যখন আপনাকে নিম্নলিখিত কোড চালানোর দেখতে পারেন। console.log(localStorage.getItem('undefined')) আউটপুট হবে example Txt!
জ্যাক গিফিন

8

স্থানীয় স্টোরেজ বিশ্বব্যাপী সংযুক্ত করা হয় window। আমরা যখন ক্রোম ডিভটোলগুলিতে লোকালস্টোরেজে লগ করি তখন আমরা দেখতে পাই যে এর নীচের নীচের এপিআই রয়েছে:

এখানে চিত্র বর্ণনা লিখুন

আইটেমগুলি মোছার জন্য আমরা নীচের API টি ব্যবহার করতে পারি:

  1. localStorage.clear(): পুরো লোকস্টোরেজ সাফ করে
  2. localStorage.removeItem('myItem'): স্বতন্ত্র আইটেম সরানোর জন্য

4

প্রথম জিনিসগুলি প্রথমে আপনার লোকালস্টোরেশন সক্ষম কিনা তা পরীক্ষা করতে হবে। আমি এটি এইভাবে করার সুপারিশ করব:

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

হ্যাঁ, আপনি (কিছু ক্ষেত্রে) লোকালস্টোরিজ উইন্ডো অবজেক্টের সদস্য কিনা তা পরীক্ষা করে দেখতে পারেন। তবে, সেখানে iframe স্যান্ডবক্সিং অপশন রয়েছে (অন্যান্য জিনিসগুলির মধ্যে) এমন একটি ব্যতিক্রম ছুঁড়ে ফেলবে যদি আপনি এমনকি 'লোকালস্টোরেজ' সূচকটি অ্যাক্সেস করার চেষ্টা করেন। সুতরাং, সর্বোত্তম-অনুশীলনের কারণে, স্থানীয় স্টোরেজ সক্ষম রয়েছে কিনা তা যাচাই করার সেরা উপায়। তারপরে, আপনি ঠিক এর মতো লোকালস্টোরেজ সাফ করতে পারেন।

if (localStorageEnabled) localStorage.clear();

উদাহরণস্বরূপ, ওয়েবকিট ব্রাউজারগুলিতে ত্রুটি দেখা দেওয়ার পরে আপনি লোকালস্টোরেজ সাফ করতে পারেন।

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

উপরের উদাহরণে, আপনার এটি প্রয়োজন .bind(window)কারণ এটি ছাড়াই, localStorage.clearফাংশনটি windowঅবজেক্টটির প্রসঙ্গে চলবে , পরিবর্তে localStorageঅবজেক্টটিকে চুপ করে ব্যর্থ করে দেয়। এটি প্রদর্শনের জন্য নীচের উদাহরণটি দেখুন:

window.onerror = localStorage.clear;

হিসাবে একই:

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

3

আপনি সব আইটেম সাফ করার বিষয়ে আপনি সঞ্চিত localStorage তারপর

localStorage.clear();

সমস্ত সঞ্চিত কী সাফ করার জন্য এটি ব্যবহার করুন।

আপনি যদি কেবল নির্দিষ্ট কী / মানটি সাফ / মুছে ফেলতে চান তবে আপনি অপসারণ আইটেম (কী) ব্যবহার করতে পারেন ।

localStorage.removeItem('yourKey');

2
localStorage.clear();

অথবা

window.localStorage.clear();

নির্দিষ্ট আইটেম পরিষ্কার করতে

window.localStorage.removeItem("item_name");

আইডি দ্বারা নির্দিষ্ট মান মুছে ফেলতে:

var item_detail = JSON.parse(localStorage.getItem("key_name")) || [];           
            $.each(item_detail, function(index, obj){
                if (key_id == data('key')) {
                    item_detail.splice(index,1);
                    localStorage["key_name"] = JSON.stringify(item_detail);
                    return false;
                }
            });


0

এখানে একটি সাধারণ কোড যা জাভাস্ক্রিপ্ট ব্যবহার করে আপনার ব্রাউজারে সঞ্চিত লোকাল স্টোরেজ সাফ করবে

    <script type="text/javascript">

if(localStorage) { // Check if the localStorage object exists

    localStorage.clear()  //clears the localstorage

} else {

    alert("Sorry, no local storage."); //an alert if localstorage is non-existing
}

</script>

স্থানীয় স্টোরেজগুলি খালি কিনা তা নিশ্চিত করতে এই কোডটি ব্যবহার করুন:

<script type="text/javascript">

// Check if the localStorage object exists
if(localStorage) {

    alert("Am still here, " + localStorage.getItem("your object name")); //put the object name
} else {
    alert("Sorry, i've been deleted ."); //an alert
}

</script>

যদি এটি শূন্য হয় তবে আপনার লোকাল স্টোরেজ সাফ হয়ে যায়।


0

এই কোডটি এখানে আপনি কীগুলির স্ট্রিংগুলির একটি তালিকা দিয়েছেন যা আপনি মুছতে চান না, তারপরে এটি স্থানীয় স্টোরেজে থাকা সমস্ত কীগুলি থেকে ফিল্টার করে অন্যগুলি মুছে দেয়।

const allKeys = Object.keys(localStorage);

const toBeDeleted = allKeys.filter(value => {
  return !this.doNotDeleteList.includes(value);
});

toBeDeleted.forEach(value => {
  localStorage.removeItem(value);
});
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.