কিভাবে jQuery ব্যবহার করে একটি কুকি মুছবেন?


90

আমি কুকিগুলি মুছতে jQuery ব্যবহার করতে চাই; আমি এটি চেষ্টা করেছি:

$.cookie('name', '', { expires: -1 });

তবে আমি পৃষ্ঠাটি রিফ্রেশ করার সময় কুকিটি সেখানেই রয়েছে:

alert('name:' +$.cookie('name'));

কেন?


কিছু ব্রাউজার ব্রাউজারটি পুনরায় চালু হওয়ার পরেই কুকি মুছবে।
Eboubaker

উত্তর:


146

JQuery সহ কোনও কুকি মুছতে, মানটিকে নালায় সেট করুন:

$.cookie("name", null, { path: '/' });

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

কিছু সংস্করণে জিকিউ কুকির জন্য উপরের সমাধানটি কুকিকে স্ট্রিং নালায় সেট করবে। সুতরাং কুকি অপসারণ না। পরিবর্তে নীচের প্রস্তাবিত কোডটি ব্যবহার করুন।

$.removeCookie('the_cookie', { path: '/' });

কিন্তু এখানে উৎস থেকে: plugins.jquery.com/files/jquery.cookie.js.txt : if (value === null) { value = '';options.expires = -1;}, যে কি, প্রসেসিং ফাংশন ভিতরে যায় তাই তারা একই সঞ্চালন অনুমিত হয়। (প্যারামিটারগুলি (name, value, options)
হ'ল

9
একই পৃষ্ঠায় কুকি সেটিং কোড এবং পরীক্ষার কোডটি কি? যদি তা না pathহয় তবে আপনার উভয় কমান্ডের জন্য অপশনগুলিতে স্পষ্টভাবে সেট করতে হবে, কারণ এটি বর্তমান পৃষ্ঠার পথে পূর্বনির্ধারিত হয় । কুকি পড়ার এবং লিখিত যেখানে উভয় জায়গায় আপনার ডোমেনের মূল নির্ধারণ করে পরীক্ষা করুন:$.cookie('name', value, {path:'/'})
চাদউইক

4
চ্যাডউইক> সম্ভবত আপনি ঠিক বলেছেন। Exm জন্য। আমি সাইট ডটকমে কুকিজ সেট করি, তারপরে সাইট.com/user, সাইট.com/user/mod, সাইট.com/user/mod/new এ যান এবং আমি এই সমস্ত পৃষ্ঠায় কুকিজ দেখতে চাই। পথটির মতো দেখতে কেমন হবে: {পথ: '/'}?
ব্যবহারকারী319854

4
এই কোডটি কুকি সরিয়ে দেয় না, তবে এর মানটি বাতিল করে দেয়।
টমজান

12
-1 কারণ এটি আসলে কুকি সরিয়ে দেয় না। $.removeCookie('cookie_name')করে
রোসদি কাশিম

71

আপনি এটি চেষ্টা করতে পারেন:

$.removeCookie('the_cookie', { path: '/' });

উত্স: https://github.com/cਹਰ tl/ jquery-cookie#readme


ইয়াহ .. আমি এর সাথে ভাল আছি
ক্যাট্যাক্লিজম

আপনি যখন একটি সাব-ডোমেন ব্যবহার করেন তখন আপনাকে এটি নির্দিষ্ট করতেও হতে পারে। বিশেষত কারণ ডোমেন নামের শুরুতে সময়কাল প্রয়োজন হতে পারে (.www.example.com)
অ্যালেক্সিস উইলক

দ্রষ্টব্য, কোডটি যে কোনও কারণেই অন্য ফাংশনে যাওয়ার প্রয়োজন যেখানে এটি আমাদের পক্ষে কাজ করে নি। above উপরের মত কুকি ('নাম', নাল) আরও নির্ভরযোগ্য বলে মনে হচ্ছে। এই অপসারণ কুকি কিছু লোকের জন্য কাজ করতে পারে।
লিগমার

এটাই আসলে আসল উত্তর!
কালশনি

15

আপনি jquery.cookie প্লাগইন ব্যবহার না করে কুকিগুলি মুছতে পারেন:

document.cookie = 'NAMEOFYOURCOOKIE' + '=; expires=Thu, 01-Jan-70 00:00:01 GMT;';

4

এটি কুকির ভুল বোঝাবুঝির সমস্যা। ব্রাউজারগুলি কেবল কীগুলির জন্য নয় কুকি মানগুলিও বিকল্প বিকল্পের পথ এবং ডোমেনের সাথে তুলনা করে। সুতরাং ব্রাউজারগুলি আলাদা মানটিকে স্বীকার করে যা কোন কুকিটিকে সার্ভার সেটিং বিকল্পের সাথে 'নাম' বলে মানায় (পথ = '/'; ডোমেন = 'মাইডোমেন.কম') এবং কীটি কোনও নাম ছাড়াই 'নাম'।



1

আমার জন্য কেবল তখনই কাজ করা pathহয়েছিল, যখন :

$.cookie('name', null, {path:'/'})

ডাউনভোটিংয়ের কারণে আপনি আমার উত্তরটি আপনার হিসাবে অনুলিপি করে আটকে দিন
অটো ক্যানেলিস

4
@ অট্টো ক্যানেলিস তাই আমি স্বীকৃত উত্তরটিও ডাউন-ডাউন করার পরামর্শ দিচ্ছি (কারণ এটি আমার উত্তরের পরে সম্পাদিত হয়েছিল) এবং আপনার উত্তরকেও ডাউনওয়েট করুন (কারণ আপনি পথের প্যারামিটারের গুরুত্বটি উচ্চারণ করেননি )!
এন্ড্রন 13

-3

আপনি যা করছেন তা সঠিক, সমস্যাটি অন্য কোথাও রয়েছে eg


4
যদিও এই লিঙ্কটি প্রশ্নের উত্তর দিতে পারে, উত্তরের প্রয়োজনীয় অংশগুলি এখানে অন্তর্ভুক্ত করা এবং রেফারেন্সের জন্য লিঙ্কটি সরবরাহ করা ভাল। লিঙ্কযুক্ত পৃষ্ঠাগুলি পরিবর্তিত হলে লিঙ্ক-শুধুমাত্র উত্তরগুলি অবৈধ হতে পারে।
উরি আগাসি

এই খুব উত্তরের জন্য, আমি যা বলছি তা হ'ল ওপ এটি সঠিক উপায়ে করছে। ওপি কোডটি অনুলিপি করে পেস্ট করা অপ্রয়োজনীয় হবে এবং অন্য কোড যুক্ত করা পাঠকের কাছে বিভ্রান্তিকর হবে। কেউ স্ক্রোল করে দেখতে পারে যে ওপি কী করছে, এটি এখানে "প্রয়োজনীয় অংশ"। তবে, আপনার যদি মনে হয় তবে কিছু অন্তর্ভুক্ত করা ভাল (দৃশ্যত কিছু লোক, কর ... তাদের মধ্যে একটিও আমার উত্তরকে নীচে ভোট দিয়েছে :)), কেবল উত্তরটি সম্পাদনা করুন এবং সে অনুযায়ী এটি ঠিক করুন। শুভেচ্ছা সহ
aularon

লিঙ্কগুলির সাথে সমস্যাটি হ'ল তারা "পচা" থাকে - তারা পরিবর্তিত হয়, তারা সরে যায়, তারা অদৃশ্য হয়ে যায় (দৃষ্টিকোণে - আপনার লিঙ্কটি ইতিমধ্যে মারা গেছে!)। এজন্য আমরা পছন্দ করি যে আপনি প্রাসঙ্গিক পাঠ্যটি বরাবর লিঙ্কটি থেকে উদ্ধৃত করেছেন, সুতরাং আপনার উত্তরটি স্বয়ংসম্পূর্ণ থাকবে (আরও দেখুন মেটা.স্ট্যাকেক্সেঞ্জার.কমেসেশনস /8231/… )
উরি আগাসি

আমি এটি সম্পর্কে ভালভাবে অবগত, কিন্তু আবার: এটি এখানে নয়। উপরের পুরো উত্তরটি আবার লেখা যেতে পারে "আপনি যা করছেন তা সঠিক, সমস্যাটি অন্য কোথাও, যেমন কুকি আবার কোনওভাবে রিফ্রেশ করার জন্য সেট করা হচ্ছে"। সুতরাং, আবার, লিঙ্ক পচা একটি সমস্যা, লিঙ্কের পাশে উত্তর সহ নিজেই যাওয়ার পথ। এটি এই উত্তরের সাথে কেবল অপ্রাসঙ্গিক।
অ্যালারন

তাই বারবার, যদি একটি উত্তরের একটি লিঙ্ক থাকে, এবং সেই লিঙ্কটি মারা গেছে, তার মানে এই নয় যে উত্তরটি যথেষ্ট ভাল নয়। কিছু লিঙ্কগুলি অতিরিক্ত বিশদ সরবরাহের জন্য কেবল সেখানে রয়েছে তবে উত্তরটির সম্পূর্ণতার জন্য এটি প্রয়োজনীয় নয়। এই আচরণটি আমার কাছে খারাপভাবে প্রোগ্রাম হওয়া বটের মতো মনে হয়েছে যার প্রসঙ্গ লিঙ্কটি বোঝার জন্য বেসিক এনএলপি নেই। আপনার সম্ভবত এটি করা বন্ধ করা উচিত।
aulon
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.