জাভাস্ক্রিপ্ট কুকি সমাপ্তির তারিখ সহ


143

আমি একটি কুকি সেট করতে চাই যা কখনই শেষ হয় না। এটা কি সম্ভব হবে?

 document.cookie = "name=value; expires=date; path=path;domain=domain; secure";

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

ধন্যবাদ।


1
আপনি কেন তারিখটি বড় করতে চান না?
অ্যান্থনিডব্লু জোন্স 14

13
তারিখ বড় করা আমার মনে হয় যেন আমি প্রতারণা করছি। যদি এই একমাত্র উপায় হয় তবে আমার ধারণা আমি তারিখটি আরও বড় করতে হবে।
হোসে ভেগা

উত্তর:


170

নাঃ। করা যায় না। এটি করার 'উপায়' কেবল মেয়াদ শেষ হওয়ার তারিখটিকেই 2030 এর মতো করে তুলছে।


31
আরও চার বছর যেতে হবে। আশা করি আপনি কুকি আপডেট করেছেন।
antony.ouseph.k

160
2020 - কুকিপোকালাইপসের বছর
জেফ্রেপিয়া

14
অভিশাপ, এটি প্রতি বছর কাছাকাছি আসছে, আমি আশা করি আপনার কোড আপডেট হয়েছে।
কার্তসিম

22
এটি এখন 2030-এ সম্পাদিত হয়েছে, আমরা আমাদের
ক্বিয়ামতাকে

7
সুতরাং, মূলত, 19 শে জানুয়ারী 2038-এ, চেলি মিলেনিয়াম ফ্যালকনে বসে আবারও গ্যালাকটিক মানচিত্রের
এপিআইতে

108

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


25
2038-01-19, 03:14:08 ইউটিসি, সুনির্দিষ্ট হতে।
উইলহেলম ক্লপ্প

কেবল স্পষ্ট করে বলতে: এটি কি কোনও নিয়ম, প্রতিটি ব্রাউজারে একইভাবে কাজ করা? এর অর্থ হ'ল আমি যদি মেয়াদ শেষ হওয়ার তারিখটি সেট না করি তবে কুকিটি কেবল সেশনের শেষ অবধি থাকবে।
রৌপ্য রিঙ্গভী

2
নির্দেশনা Expiresবা Max-Ageনির্দেশ ছাড়াই তৈরি একটি কুকি একটি সেশন কুকি: ক্লায়েন্ট বন্ধ হয়ে গেলে এটি মুছে ফেলা হয়। তবে, ওয়েব ব্রাউজারগুলি সেশন পুনরুদ্ধার ব্যবহার করতে পারে , যা বেশিরভাগ সেশন কুকিজকে স্থায়ী করে তোলে, যেমন ব্রাউজারটি কখনও বন্ধ ছিল না। ( উত্স: এমডিএন )
এমফ্লিউহর

67

আপনি মজিলা ডক্সে উদাহরণ হিসাবে এটি করতে পারেন :

 document.cookie = "someCookieName=true; expires=Fri, 31 Dec 9999 23:59:59 GMT";

পুনশ্চ

অবশ্যই, যদি মানবিকতা এখনও 10000 বছরের প্রথম মিনিটে আপনার কোড ব্যবহার করে তবে একটি সমস্যা হবে :)


89
আপনি কি নিশ্চিত যে এটি একটি শুক্রবার?
ডেভিড


5
Npmjs.com/package/universal- কুকি ব্যবহার করে আমার পক্ষে কাজ করেনি । সঙ্গে গিয়েছিলাম বছর 2038 সমাধান । 2030 এ ফিরে আসার জন্য একটি টিকিট লিখেছিলাম সেখানে কোনও সমাধান আছে কিনা তা দেখতে।
হিনরিচ

15

কুকি স্পেসিফিকেশন অনুসারে সমস্ত কুকিজের মেয়াদ শেষ হয়ে যায় , আপনি সেট করতে পারেন সর্বোচ্চ মান

 2^31 - 1 = 2147483647 = 2038-01-19 04:14:07

সর্বাধিক কুকি জীবনের সময়

$.cookie('subscripted_24', true, { expires: 2147483647 });

7
এই সংখ্যাটি আমার পক্ষে কার্যকর হয়নি। কিছুটা পরীক্ষা এবং ত্রুটির পরে, আমি যে সর্বোচ্চ সংখ্যাটি ব্যবহার করতে সক্ষম হয়েছিল তা হ'ল 99983090 (মেয়াদ = শুক্র, 12 সেপ্টেম্বর 275760 18:10:24 GMT)। যে কোনও উচ্চতর ফেরত "অবৈধ তারিখ"
জেফ্রেপিয়া

আপনি jquery- কুকি বা js- কুকি প্যারামিটার মেয়াদ হিসাবে একটি নম্বর পাস করে, এখন থেকে মেয়াদ শেষ হতে দিন হিসাবে নেওয়া হয়। আপনি যদি একটি নির্দিষ্ট তারিখ চান তবে আপনাকে পরিবর্তে একটি তারিখ অবজেক্টটি পাস করতে হবে।
দারিও সিডল

উপরের কোড ব্যবহার jQuery-কুকি যা পক্ষে অপসারণ করা হয়েছে প্লাগইন JS-কুকি
জেনস

2
ভ্যানিলা document.cookie = 'subscripted_24=true; expires=' + new Date(2147483647 * 1000).toUTCString();
জেএসের

12

আপনি সম্ভবত এক মাস বা অন্য কোনও মেয়াদ শেষ হওয়ার তারিখে একটি কুকি সেট করতে পারেন এবং তারপরে ব্যবহারকারী যখনই ওয়েবসাইটটি আবার দেখেন ততবার কুকিটি পুনরায় সাইন করতে পারেন could


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

9

আপনি যদি মেয়াদোত্তীকরণের তারিখটি সেট না করেন তবে কুকিটি ব্যবহারকারীর সেশন শেষে শেষ হবে। আমি ইউনিক্স যুগের আগে সময়টি 32-বিট পূর্ণসংখ্যার প্রসারিত হওয়ার আগে ডেটটি ব্যবহার করার পরামর্শ দিই। আপনি যে কুকিটি ব্যবহার করবেন তা document.cookie = "randomCookie=true; expires=Tue, 19 Jan 2038 03:14:07 UTC;ধরে রাখার জন্য , ধরে নিই যে randomCookieএটি আপনি যে কুকিটি সেট করছেন trueসেটি এটির মান।


2

আপনি ঠিক করতে পারবেন না । চিরকালীন কুকি সেট করার জন্য ব্যবহার করার মতো কোনও সঠিক কোড নেই তবে একটি পুরানো কৌশলটি করবে, যেমনcurrent time + 10 years

কেবলমাত্র একটি নোট যে এর বাইরে যে কোনও তারিখগুলি January 2038আপনাকে কুকিজের জন্য ডাস্টড করবে ( 32-বিট ইনট ) তাত্ক্ষণিকভাবে মুছে ফেলা হবে। অদূর ভবিষ্যতে এটি স্থির করা হবে যে একটি অলৌকিক জন্য চান। জন্য 64-বিট int- এ , বছর প্রায় 2110নিরাপদ হতে হবে। সময়ের সাথে সাথে, সফ্টওয়্যার এবং হার্ডওয়্যার পরিবর্তিত হবে এবং পুরানোগুলির সাথে কখনই খাপ খাইয়ে নিতে পারে না (যে জিনিসগুলি আমাদের কাছে রয়েছে) তাই ভবিষ্যতের জন্য এখনই প্রস্তুত করুন ।

2038 বছর দেখুন


3
আমি মনে করি আপনি বুঝতে পারবেন না যে ভবিষ্যতে একটি 64 বিট কম্পিউটার 292 বিলিয়ন বছর গণনা করতে পারে
গুস্ট ভ্যান ডি ওয়াল

@ গুস্তভান্ডেওয়াল তাই তো তাই না? আমি ইতিমধ্যে এটি পড়েছি। এমনকি আমি আমার উত্তরে সেই লিঙ্কটি অন্তর্ভুক্ত করেছি।
rhavendc

1
আপনার উত্তর থেকে: 64৪-বিট ইন্টের জন্য , প্রায় 2110 বছর নিরাপদ থাকবে। এটি সন্দেহজনকভাবে মনে হয় যেমন আপনি 32-বিট কম্পিউটারের চেয়ে দ্বিগুণ (far০ - -> 2035 -> 2110)
64৪

@ গুস্তভান্ডেওয়াল দুঃখিত যদি আমার শব্দগুলি সন্দেহজনক মনে হয়। সম্ভবত এটি ইংরেজিতে বলার সেরা উপায় নয়। তবে ওহে, আপনি সবেমাত্র বলেছিলেন এমন ধরণের ধারণা আশা বা ভাবিনি।
rhavendc

4
একটি ছোট টীকা: আমরা যদি 33-বিট প্রসেসর ব্যবহার করি তবে 2110 সালটি অর্থপূর্ণ হবে।
হেজেজ

1

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


বা ব্রাউজারটি বন্ধ আছে বা কম্পিউটার বন্ধ রয়েছে
রেডওয়াল্ফ প্রোগ্রামগুলি

@ রেডওয়ালফ প্রোগ্রামগুলি যখন থেকে ব্রাউজার বন্ধ হয় বা কম্পিউটার বন্ধ হয়ে যায় তখন স্থানীয় স্টোরেজ ক্লিয়ার হয়?
ইগর জেরোসিমিć

@ ইগরজিরোসিমি ć উফ! আমার ধারণা আমি আমার সাইটে একটি বাগের কারণে ভেবেছিলাম ...
রেডউল্ফ প্রোগ্রামগুলি

-2

আপনি চলতি বছরের চেয়ে বেশি যে কোনও তারিখের চেয়ে আরও একটি তারিখ সেট করে কোনও কুকিকে শেষ করতে পারবেন না:

var d = new Date();    
document.cookie = "username=John Doe; expires=Thu, 18 Dec " + (d.getFullYear() + 1) + " 12:00:00 UTC";

1
এটি এক বছর পরে শেষ হবে, অনির্দিষ্টকালের জন্য শেষ হবে না (এএফআইএইকে)।
সলোমন উকো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.