दिलचस्प पोस्ट
क्या VBA फ़ंक्शंस के भीतर कुछ भी नहीं करने के लिए ऑब्जेक्ट सेट करने की आवश्यकता है टैबिल डेटा के रूप में प्रिंटिंग सूचियां स्विफ्ट # सिलेक्टर सिंटैक्स के साथ मैं "संकुचित त्रुटि" का संकलन कैसे करूं? LocalDateTime के साथ पार्स / फॉर्मेट की तारीखें कैसे करें? (जावा 8) $ (विंडो) .विड्थ () मीडिया क्वेरी के समान नहीं है घटक आधारित खेल इंजन डिजाइन क्या मैं जावा फ़ाइल को कक्षा से अलग नाम के साथ संकलित कर सकता हूं? पायथन में एक सूची के रूप में शब्दकोश कुंजी को वापस कैसे करें? क्या गिट-मर्ज के लिए लाइन-एंडिंग अंतर को अनदेखा करना संभव है? रिक्त और सिस्टम के बीच अंतर क्या है। DBNull.Value? मीडिया प्रश्न: डेस्कटॉप, टैबलेट और मोबाइल को कैसे लक्षित किया जाए? जावास्क्रिप्ट ऑब्जेक्ट में प्रोटोटाइप श्रृंखला हो सकती है, लेकिन क्या यह फ़ंक्शन भी है? जावा: टेस्ट टू स्पीच इंजन अवलोकन एएसपी.नेट एमवीसी रेजर एन्कोडिंग के बिना रेंडर करता है कैसे एक HTML लिंक के माध्यम से एसएमएस शरीर पाठ को पूर्व में पॉप्युलेट करने के लिए

जावास्क्रिप्ट के साथ सभी कुकीज़ समाशोधन

जावास्क्रिप्ट का उपयोग करते हुए आप वर्तमान डोमेन के लिए सभी कुकीज़ कैसे हटा सकते हैं?

वेब के समाधान से एकत्रित समाधान "जावास्क्रिप्ट के साथ सभी कुकीज़ समाशोधन"

function deleteAllCookies() { var cookies = document.cookie.split(";"); for (var i = 0; i < cookies.length; i++) { var cookie = cookies[i]; var eqPos = cookie.indexOf("="); var name = eqPos > -1 ? cookie.substr(0, eqPos) : cookie; document.cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT"; } } 

ध्यान दें कि इस कोड में दो सीमाएं हैं:

  • यह HttpOnly ध्वज सेट के साथ कुकीज को नहीं HttpOnly , क्योंकि HttpOnly ध्वज कुकीज की जावास्क्रिप्ट की पहुंच को निष्क्रिय करता है।
  • यह उन कुकीज को नहीं हटाएगा, जिन्हें Path मान के साथ सेट किया गया है। (यह इस तथ्य के बावजूद है कि यह कुकीज document.cookie में दिखाई देगी, लेकिन आप उसी Path मान को निर्दिष्ट किए बिना इसे हटा नहीं सकते हैं।

एक लाइन

यदि आप इसे जल्दी से पेस्ट करना चाहते हैं …

 document.cookie.split(";").forEach(function(c) { document.cookie = c.replace(/^ +/, "").replace(/=.*/, "=;expires=" + new Date().toUTCString() + ";path=/"); }); 

और एक बुकमार्क के लिए कोड:

 javascript:(function(){document.cookie.split(";").forEach(function(c) { document.cookie = c.replace(/^ +/, "").replace(/=.*/, "=;expires=" + new Date().toUTCString() + ";path=/"); }); })(); 

इस के साथ थोड़ा हताशा के बाद मैं इस समारोह को एक साथ खटखटाया जो सभी रास्तों से एक नामित कुकी को हटाने का प्रयास करेगा। बस अपने प्रत्येक कुकी के लिए इसे कॉल करें और आप प्रत्येक कुकी को हटाने के करीब होना चाहिए, तब आप पहले थे।

 function eraseCookieFromAllPaths(name) { // This function will attempt to remove a cookie from all paths. var pathBits = location.pathname.split('/'); var pathCurrent = ' path='; // do a simple pathless delete first. document.cookie = name + '=; expires=Thu, 01-Jan-1970 00:00:01 GMT;'; for (var i = 0; i < pathBits.length; i++) { pathCurrent += ((pathCurrent.substr(-1) != '/') ? '/' : '') + pathBits[i]; document.cookie = name + '=; expires=Thu, 01-Jan-1970 00:00:01 GMT;' + pathCurrent + ';'; } } 

हमेशा अलग-अलग ब्राउज़रों के व्यवहार अलग होते हैं लेकिन यह मेरे लिए काम करता है का आनंद लें।

यदि आपके पास jquery.cookie प्लग इन तक पहुंच है, तो आप इस तरह से सभी कुकीज़ मिटा सकते हैं:

 for (var it in $.cookie()) $.removeCookie(it); 

और सभी पथों और डोमेन के सभी संस्करणों (www.mydomain.com, mydomain.com आदि) में सभी कुकीज़ को साफ़ करने के लिए यहां एक है:

 (function () { var cookies = document.cookie.split("; "); for (var c = 0; c < cookies.length; c++) { var d = window.location.hostname.split("."); while (d.length > 0) { var cookieBase = encodeURIComponent(cookies[c].split(";")[0].split("=")[0]) + '=; expires=Thu, 01-Jan-1970 00:00:01 GMT; domain=' + d.join('.') + ' ;path='; var p = location.pathname.split('/'); document.cookie = cookieBase + '/'; while (p.length > 0) { document.cookie = cookieBase + p.join('/'); p.pop(); }; d.shift(); } } })(); 

जहां तक ​​मुझे पता है कि डोमेन पर किसी भी कुकी सेट के कंबल को हटाने का कोई तरीका नहीं है। यदि आप नाम जानते हैं और यदि स्क्रिप्ट कुकी के समान डोमेन पर है तो आप कुकी को साफ़ कर सकते हैं।

आप खाली करने के लिए मूल्य और अतीत में किसी भी समय की समाप्ति तिथि निर्धारित कर सकते हैं:

 var mydate = new Date(); mydate.setTime(mydate.getTime() - 1); document.cookie = "username=; expires=" + mydate.toGMTString(); 

जावास्क्रिप्ट का उपयोग करते हुए कुकीज़ को छेड़छाड़ करने पर यहां एक शानदार लेख है

सरल। और तेज।

 function deleteAllCookies() { var c = document.cookie.split("; "); for (i in c) document.cookie =/^[^=]+/.exec(c[i])[0]+"=;expires=Thu, 01 Jan 1970 00:00:00 GMT"; } 

मैं समझता हूं कि कुकीज़ को साफ करने के लिए इस पद्धति को साझा करना होगा। शायद किसी और के लिए किसी बिंदु पर यह सहायक हो सकता है

 var cookie = document.cookie.split(';'); for (var i = 0; i < cookie.length; i++) { var chip = cookie[i], entry = chip.split("="), name = entry[0]; document.cookie = name + '=; expires=Thu, 01 Jan 1970 00:00:01 GMT;'; } 

एक उत्तर दोनों दूसरे उत्तर और W3Schools से प्रभावित है

 document.cookie.split(';').forEach(function(c) { document.cookie = c.trim().split('=')[0] + '=;' + 'expires=Thu, 01 Jan 1970 00:00:00 UTC;'; }); 

काम करने लगता है

संपादित करें: वाह लगभग बिल्कुल वैसा ही दिलचस्प है जैसे स्टैक अतिप्रवाह उन्हें एक दूसरे के बगल में डालते हैं

संपादित करें: एनवीएम जो स्पष्ट रूप से अस्थायी था

आप document.cookie चर में देखकर एक सूची प्राप्त कर सकते हैं। उन सभी को समाशोधन केवल उन सभी पर लूपिंग का मामला है और उन्हें एक-एक करके साफ़ करना है

जावास्क्रिप्ट में सभी कुकीज़ को हटाने के लिए यहां एक सरल कोड है

 function deleteAllCookies(){ var cookies = document.cookie.split(";"); for (var i = 0; i < cookies.length; i++) deleteCookie(cookies[i].split("=")[0]); } function setCookie(name, value, expirydays) { var d = new Date(); d.setTime(d.getTime() + (expirydays*24*60*60*1000)); var expires = "expires="+ d.toUTCString(); document.cookie = name + "=" + value + "; " + expires; } function deleteCookie(name){ setCookie(name,"",-1); } 

सभी कुकीज़ को साफ़ करने के लिए फ़ंक्शन deleteAllCookies() चलाएं।

कार्यात्मक दृष्टिकोण + ईएस 6

 const cookieCleaner = () => { return document.cookie.split(";").reduce(function (acc, cookie) { const eqPos = cookie.indexOf("="); const cleanCookie = `${cookie.substr(0, eqPos)}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;`; return `${acc}${cleanCookie}`; }, ""); } 

नोट: पथ को संभाल नहीं करता है

 //Delete all cookies function deleteAllCookies() { var cookies = document.cookie.split(";"); for (var i = 0; i < cookies.length; i++) { var cookie = cookies[i]; var eqPos = cookie.indexOf("="); var name = eqPos > -1 ? cookie.substr(0, eqPos) : cookie; document.cookie = name + '=;' + 'expires=Thu, 01-Jan-1970 00:00:01 GMT;' + 'path=' + '/;' + 'domain=' + window.location.host + ';' + 'secure=;'; } } 

कुकीज़ के कई शैलियों पर ब्राउज़रों की कई शैली में सूचीबद्ध लगभग कभी भी विधि का परीक्षण करने के बाद, मुझे लगभग लगभग 50% काम भी नहीं मिला।

कृपया जरूरत के मुताबिक सही मदद करें, लेकिन मैं यहां 2 सेंट डालूँगा। निम्नलिखित विधि सब कुछ टूट जाती है और मूल रूप से दोनों सेटिंग के टुकड़ों के आधार पर कुकी मूल्य स्ट्रिंग बनाता है साथ ही पाठ्यक्रम से शुरू होने वाली पथ स्ट्रिंग की स्टेप बिल्ड द्वारा एक चरण भी शामिल है।

उम्मीद है कि यह दूसरों की सहायता करता है और मुझे उम्मीद है कि इस पद्धति को पूर्ण करने के रूप में किसी भी आलोचना आ सकती है। सबसे पहले मैं एक साधारण 1-लाइनर चाहता था क्योंकि कुछ अन्य की मांग की गई थी, लेकिन जेएस कुकीज उन चीजों में से एक हैं जिनके साथ आसानी से निपटाया नहीं जा सकता।

 ;(function() { if (!window['deleteAllCookies'] && document['cookie']) { window.deleteAllCookies = function(showLog) { var arrCookies = document.cookie.split(';'), arrPaths = location.pathname.replace(/^\//, '').split('/'), // remove leading '/' and split any existing paths arrTemplate = [ 'expires=Thu, 01-Jan-1970 00:00:01 GMT', 'path={path}', 'domain=' + window.location.host, 'secure=' ]; // array of cookie settings in order tested and found most useful in establishing a "delete" for (var i in arrCookies) { var strCookie = arrCookies[i]; if (typeof strCookie == 'string' && strCookie.indexOf('=') >= 0) { var strName = strCookie.split('=')[0]; // the cookie name for (var j=1;j<=arrTemplate.length;j++) { if (document.cookie.indexOf(strName) < 0) break; // if this is true, then the cookie no longer exist else { var strValue = strName + '=; ' + arrTemplate.slice(0, j).join('; ') + ';'; // made using the temp array of settings, putting it together piece by piece as loop rolls on if (j == 1) document.cookie = strValue; else { for (var k=0;k<=arrPaths.length;k++) { if (document.cookie.indexOf(strName) < 0) break; // if this is true, then the cookie no longer exist else { var strPath = arrPaths.slice(0, k).join('/') + '/'; // builds path line strValue = strValue.replace('{path}', strPath); document.cookie = strValue; } } } } } } } showLog && window['console'] && console.info && console.info("\n\tCookies Have Been Deleted!\n\tdocument.cookie = \"" + document.cookie + "\"\n"); return document.cookie; } } })(); 

jQuery:

 var cookies = $.cookie(); for(var cookie in cookies) { $.removeCookie(cookie); } 

वेनिला जेएस

 function clearListCookies() { var cookies = document.cookie.split(";"); for (var i = 0; i < cookies.length; i++) { var spcook = cookies[i].split("="); deleteCookie(spcook[0]); } function deleteCookie(cookiename) { var d = new Date(); d.setDate(d.getDate() - 1); var expires = ";expires="+d; var name=cookiename; //alert(name); var value=""; document.cookie = name + "=" + value + expires + "; path=/acc/html"; } window.location = ""; // TO REFRESH THE PAGE } 

मुझे आईई और एज में एक समस्या मिली। वेबकिट ब्राउज़र (क्रोम, सफारी) अधिक क्षमा करने लगते हैं जब कुकीज़ सेट करते हैं, तो हमेशा किसी चीज़ को "पथ" सेट करते हैं, क्योंकि डिफ़ॉल्ट वह पृष्ठ होगा जो कुकी सेट करता है इसलिए यदि आप "पथ" निर्दिष्ट किए बिना किसी भिन्न पृष्ठ पर इसे समाप्त करने का प्रयास करते हैं, तो पथ मेल नहीं खाएगा और यह समाप्त नहीं होगा। document.cookie मान किसी कुकी के लिए पथ या समाप्ति नहीं दिखाता है, इसलिए आप यह नहीं प्राप्त कर सकते हैं कि कुकी को मूल्य पर देखकर सेट किया गया था।

यदि आपको अलग-अलग पृष्ठों से कुकीज़ की समय सीमा समाप्त करने की आवश्यकता है, तो कुकी मान में सेटिंग पृष्ठ के पथ को बचाएं ताकि आप इसे बाद में खींच सकें या हमेशा "; path=/;" संलग्न कर सकें कुकी मूल्य के लिए फिर इसे किसी भी पृष्ठ से समाप्त हो जाएगा।