বিবরণ
কুকি কোয়েরি ও পরিবর্তন করতে এবং সেগুলি পরিবর্তন হলে বিজ্ঞপ্তি পেতে chrome.cookies API ব্যবহার করুন।
অনুমতি
cookiesকুকি API ব্যবহার করতে, আপনার ম্যানিফেস্টে "cookies" অনুমতি ঘোষণা করুন, সাথে আপনি যে হোস্টের কুকি অ্যাক্সেস করতে চান তার জন্য হোস্টের অনুমতি দিন। যেমন:
{
"name": "My extension",
...
"host_permissions": [
"*://*.google.com/"
],
"permissions": [
"cookies"
],
...
}
পার্টিশনিং
বিভাজিত স্টোরেজে রাখা কুকি কোনও সাইটকে নির্দিষ্ট কুকি চিহ্নিত করার অনুমতি দেয় যা টপ-লেভেল ফ্রেমের উৎসের বিপরীতে কী করা উচিত। এর অর্থ হল, উদাহরণস্বরূপ, সাইট B এবং সাইট C-তে iframe ব্যবহার করে সাইট A এম্বেড করা হলে, A থেকে বিভাজিত স্টোরেজে রাখা কুকির এম্বেড করা ভার্সনের B এবং C-তে আলাদা আলাদা ভ্যালু থাকতে পারে।
ডিফল্ট হিসেবে, সব API পদ্ধতি পার্টিশন না করা কুকিতে কাজ করে। এই আচরণ ওভাররাইড করতে
partitionKey প্রপার্টি ব্যবহার করা যেতে পারে।
এক্সটেনশনের জন্য পার্টিশন করার সাধারণ প্রভাব সম্পর্কে বিস্তারিত জানতে, স্টোরেজ ও কুকি দেখুন।
উদাহরণ
আপনি examples/api/cookies ডিরেক্টরিতে কুকি API ব্যবহার করার একটি সহজ উদাহরণ খুঁজে পেতে পারেন। অন্যান্য উদাহরণ এবং সোর্স কোড দেখার ব্যাপারে সহায়তার জন্য, স্যাম্পেল দেখুন।
ধরন
Cookie
HTTP কুকি সম্পর্কে তথ্য দেখায়।
প্রপার্টি
-
ডোমেন
স্ট্রিং
কুকির ডোমেন (যেমন, "www.google.com", "example.com")।
-
expirationDate
নম্বর ঐচ্ছিক
UNIX epoch থেকে সেকেন্ডের সংখ্যা হিসেবে কুকির মেয়াদ শেষ হওয়ার তারিখ। সেশন কুকির জন্য প্রদান করা হয়নি।
-
hostOnly
বুলিয়ান
কুকিটি হোস্ট-অনলি কুকি হলে (অর্থাৎ, অনুরোধের হোস্ট অবশ্যই কুকির ডোমেনের সাথে হুবহু মিলতে হবে) ট্রু।
-
httpOnly
বুলিয়ান
কুকি HttpOnly হিসেবে চিহ্নিত করা হলে সত্য (অর্থাৎ, ক্লায়েন্ট-সাইড স্ক্রিপ্ট কুকি অ্যাক্সেস করতে পারবে না)।
-
নাম
স্ট্রিং
কুকির নাম।
-
partitionKey
CookiePartitionKey ঐচ্ছিক
Chrome 119+ Chrome 148 থেকে browser.*বিভাজিত অ্যাট্রিবিউট সহ কুকি রিড বা পরিবর্তন করার জন্য পার্টিশন কী।
-
পথ
স্ট্রিং
কুকির পাথ।
-
sameSiteChrome 51+ browser.* Chrome 148 থেকে
কুকির একই-সাইট স্ট্যাটাস (অর্থাৎ, কুকিটি ক্রস-সাইট অনুরোধের সাথে পাঠানো হয়েছে কিনা)।
-
সুরক্ষিত
বুলিয়ান
কুকি সুরক্ষিত হিসেবে চিহ্নিত করা হলে (যেমন, এর স্কোপ সুরক্ষিত চ্যানেলের মধ্যে সীমিত, সাধারণত HTTPS) এটি সত্য হয়।
-
সেশন
বুলিয়ান
মেয়াদ শেষ হওয়ার তারিখ সহ স্থায়ী কুকির পরিবর্তে কুকিটি সেশন কুকি হলে True হবে।
-
storeId
স্ট্রিং
getAllCookieStores()-এ যেমন দেওয়া আছে, এই কুকি সহ কুকি স্টোরের আইডি।
-
মান
স্ট্রিং
কুকির ভ্যালু।
CookieDetails
কুকি শনাক্ত করার বিবরণ।
প্রপার্টি
-
নাম
স্ট্রিং
অ্যাক্সেস করার জন্য কুকির নাম।
-
partitionKey
CookiePartitionKey ঐচ্ছিক
Chrome 119+ Chrome 148 থেকে browser.*বিভাজিত অ্যাট্রিবিউট সহ কুকি রিড বা পরিবর্তন করার জন্য পার্টিশন কী।
-
storeId
স্ট্রিং ঐচ্ছিক
কুকি স্টোরের আইডি যেখানে কুকি খুঁজতে হবে। ডিফল্ট হিসেবে, বর্তমান এক্সিকিউশন কন্টেক্সটের কুকি স্টোর ব্যবহার করা হবে।
-
URL
স্ট্রিং
অ্যাক্সেস করার জন্য কুকি যে URL-এর সাথে যুক্ত। এই আর্গুমেন্টটি সম্পূর্ণ URL হতে পারে, সেক্ষেত্রে URL পাথের (যেমন, কোয়েরি স্ট্রিং) পরে থাকা যেকোনও ডেটা উপেক্ষা করা হয়। ম্যানিফেস্ট ফাইলে এই URL-এর জন্য হোস্টের অনুমতি নির্দিষ্ট করা না থাকলে, API কল করা যাবে না।
CookiePartitionKey
বিভাজিত স্টোরেজে রাখা কুকির পার্টিশন কী দেখায়।
প্রপার্টি
-
hasCrossSiteAncestor
বুলিয়ান ঐচ্ছিক
Chrome 130+ Chrome 148 থেকে browser.*ক্রস-ক্রস সাইট প্রসঙ্গে কুকি সেট করা হয়েছে কিনা তা নির্দেশ করে। এটি ক্রস-সাইট প্রসঙ্গে এম্বেড করা টপ-লেভেল সাইটকে একই-সাইট প্রসঙ্গে টপ-লেভেল সাইটের সেট করা কুকি অ্যাক্সেস করা থেকে আটকায়।
-
topLevelSite
স্ট্রিং ঐচ্ছিক
বিভাজিত স্টোরেজে রাখা কুকি টপ-লেভেল সাইটে উপলভ্য।
CookieStore
ব্রাউজারে কুকি স্টোরকে দেখায়। যেমন, ছদ্মবেশী মোড উইন্ডো, ছদ্মবেশী নয় এমন উইন্ডো থেকে আলাদা কুকি স্টোর ব্যবহার করে।
প্রপার্টি
-
id
স্ট্রিং
কুকি স্টোরের জন্য অনন্য শনাক্তকারী।
-
tabIds
সংখ্যা[]
এই কুকি স্টোর শেয়ার করে এমন সব ব্রাউজার ট্যাবের আইডেন্টিফায়ার।
FrameDetails
ফ্রেম শনাক্ত করার বিবরণ।
প্রপার্টি
-
documentId
স্ট্রিং ঐচ্ছিক
ডকুমেন্টের জন্য অনন্য শনাক্তকারী। frameId এবং/অথবা tabId প্রদান করা হলে, প্রদত্ত ডকুমেন্ট আইডি দ্বারা পাওয়া ডকুমেন্টের সাথে মিলিয়ে সেগুলি যাচাই করা হবে।
-
frameId
নম্বর ঐচ্ছিক
ট্যাবের মধ্যে ফ্রেমের জন্য অনন্য শনাক্তকারী।
-
tabId
নম্বর ঐচ্ছিক
ফ্রেম সহ ট্যাবের জন্য অনন্য শনাক্তকারী।
OnChangedCause
কুকি পরিবর্তনের অন্তর্নিহিত কারণ। "chrome.cookies.remove"-এ স্পষ্ট কল করার মাধ্যমে কুকি যোগ বা সরানো হলে, "কারণ" হবে "স্পষ্ট"। মেয়াদ শেষ হওয়ার কারণে কোনও কুকি অটোমেটিক সরিয়ে দেওয়া হলে, "কারণ" হিসেবে "মেয়াদ শেষ" দেখানো হবে। ইতিমধ্যে মেয়াদ শেষ হয়ে গেছে এমন মেয়াদ সমাপ্তির তারিখ দিয়ে ওভাররাইট করার কারণে কোনও কুকি সরিয়ে দেওয়া হলে, "কারণ" "expired_overwrite" হিসেবে সেট করা হবে। গার্বেজ কালেকশনের কারণে কোনও কুকি অটোমেটিক সরিয়ে দেওয়া হলে, "কারণ" হিসেবে "সরিয়ে দেওয়া হয়েছে" দেখানো হবে। "সেট" কলের কারণে কোনও কুকি অটোমেটিক সরিয়ে দেওয়া হলে, "কারণ" হবে "ওভাররাইট"। সেই অনুযায়ী আপনার উত্তর দেওয়ার পরিকল্পনা করুন।
Enum
"উচ্ছেদ করা হয়েছে"
"মেয়াদ শেষ হয়ে গেছে"
"অনুপযুক্ত"
"expired_overwrite"
"ওভাররাইট করুন"
SameSiteStatus
কুকির 'SameSite' স্ট্যাটাস (https://tools.ietf.org/html/draft-west-first-party-cookies)। 'no_restriction' হল 'SameSite=None' দিয়ে সেট করা কুকি, 'lax' হল 'SameSite=Lax' এবং 'strict' হল 'SameSite=Strict'। 'উল্লেখ করা নেই' বলতে SameSite অ্যাট্রিবিউট ছাড়া সেট করা কুকিকে বোঝায়।
Enum
"no_restriction"
"lax"
"strict"
"উল্লেখ করা হয়নি"
পদ্ধতি
get()
browser.cookies.get(
details: CookieDetails,
): Promise<Cookie | undefined>
একটি কুকি সম্পর্কে তথ্য ফিরিয়ে আনে। প্রদত্ত URL-এর জন্য একই নামের একাধিক কুকি থাকলে, সবচেয়ে দীর্ঘ পাথ সহ কুকিটি রিটার্ন করা হবে। একই পাথ দৈর্ঘ্যের কুকির ক্ষেত্রে, সবচেয়ে আগে তৈরি করা কুকি ফিরিয়ে দেওয়া হবে।
প্যারামিটারগুলি
-
বিস্তারিত বিবরণ
রিটার্ন
-
Promise<Cookie | undefined>
Chrome 88+ Chrome 148 থেকে browser.*
getAll()
browser.cookies.getAll(
details: object,
): Promise<Cookie[]>
প্রদত্ত তথ্যের সাথে মেলে এমন একটি কুকি স্টোর থেকে সব কুকি ফিরিয়ে আনে। ফেরত আসা কুকিগুলি সাজানো হবে, যার মধ্যে সবচেয়ে দীর্ঘ পাথ সহ কুকিগুলি প্রথমে থাকবে। একাধিক কুকির পাথ দৈর্ঘ্য একই হলে, যেগুলি আগে তৈরি করা হয়েছে সেগুলি প্রথমে থাকবে। এই পদ্ধতি শুধুমাত্র সেইসব ডোমেনের জন্য কুকি ফিরিয়ে আনে যেগুলির জন্য এক্সটেনশনের হোস্ট করার অনুমতি আছে।
প্যারামিটারগুলি
-
বিস্তারিত বিবরণ
অবজেক্ট
যেসব কুকি ফিরিয়ে আনা হচ্ছে সেগুলি ফিল্টার করার তথ্য।
-
ডোমেন
স্ট্রিং ঐচ্ছিক
উদ্ধার করা কুকিগুলিকে শুধুমাত্র সেইসব কুকিতে সীমাবদ্ধ করে যেগুলির ডোমেন এই ডোমেনের সাথে মেলে বা এই ডোমেনের সাবডোমেন।
-
নাম
স্ট্রিং ঐচ্ছিক
নাম অনুযায়ী কুকি ফিল্টার করে।
-
partitionKey
CookiePartitionKey ঐচ্ছিক
Chrome 119+ Chrome 148 থেকে browser.*বিভাজিত অ্যাট্রিবিউট সহ কুকি রিড বা পরিবর্তন করার জন্য পার্টিশন কী।
-
পথ
স্ট্রিং ঐচ্ছিক
এই স্ট্রিংয়ের সাথে হুবহু মিলে যায় এমন পাথ সহ কুকিকেই শুধু ফিরিয়ে আনা হয়।
-
সুরক্ষিত
বুলিয়ান ঐচ্ছিক
'নিরাপদ' প্রপার্টি অনুযায়ী কুকি ফিল্টার করে।
-
সেশন
বুলিয়ান ঐচ্ছিক
সেশন বনাম পারসিস্টেন্ট কুকি ফিল্টার করে।
-
storeId
স্ট্রিং ঐচ্ছিক
কুকি স্টোর যেখান থেকে কুকি ফিরিয়ে আনা হবে। বাদ দেওয়া হলে, বর্তমান এক্সিকিউশন কনটেক্সটের কুকি স্টোর ব্যবহার করা হবে।
-
URL
স্ট্রিং ঐচ্ছিক
উদ্ধার করা কুকিগুলিকে সীমাবদ্ধ করে যেগুলি প্রদত্ত URL-এর সাথে মিলবে।
-
রিটার্ন
-
Promise<Cookie[]>
Chrome 88+ Chrome 148 থেকে browser.*
getAllCookieStores()
browser.cookies.getAllCookieStores(): Promise<CookieStore[]>
আগে থেকে থাকা সব কুকি স্টোরের তালিকা তৈরি করে।
রিটার্ন
-
Promise<CookieStore[]>
Chrome 88+ Chrome 148 থেকে browser.*
getPartitionKey()
browser.cookies.getPartitionKey(
details: FrameDetails,
): Promise<object>
ফ্রেমের জন্য পার্টিশন কী দেখানো হয়েছে।
প্যারামিটারগুলি
-
বিস্তারিত বিবরণ
রিটার্ন
-
Promise<object>
remove()
browser.cookies.remove(
details: CookieDetails,
): Promise<object | undefined>
নাম অনুযায়ী কুকি মুছে দেয়।
প্যারামিটারগুলি
-
বিস্তারিত বিবরণ
রিটার্ন
-
<অবজেক্ট | অনির্ধারিত> প্রমিস
Chrome 88+ Chrome 148 থেকে browser.*
set()
browser.cookies.set(
details: object,
): Promise<Cookie | undefined>
প্রদত্ত কুকি ডেটা সহ একটি কুকি সেট করে; সমতুল্য কুকি থাকলে তা ওভাররাইট করতে পারে।
প্যারামিটারগুলি
-
বিস্তারিত বিবরণ
অবজেক্ট
সেট করা কুকি সম্পর্কে বিবরণ।
-
ডোমেন
স্ট্রিং ঐচ্ছিক
কুকির ডোমেন। বাদ দেওয়া হলে, কুকিটি হোস্ট-অনলি কুকি হয়ে যায়।
-
expirationDate
নম্বর ঐচ্ছিক
UNIX epoch থেকে সেকেন্ডের সংখ্যা হিসেবে কুকির মেয়াদ শেষ হওয়ার তারিখ। বাদ দেওয়া হলে, কুকিটি সেশন কুকি হয়ে যায়।
-
httpOnly
বুলিয়ান ঐচ্ছিক
কুকি HttpOnly হিসেবে চিহ্নিত করা হবে কিনা। ডিফল্ট হিসেবে false সেট করা থাকে।
-
নাম
স্ট্রিং ঐচ্ছিক
কুকির নাম। বাদ দেওয়া হলে ডিফল্ট হিসেবে ফাঁকা থাকে।
-
partitionKey
CookiePartitionKey ঐচ্ছিক
Chrome 119+ Chrome 148 থেকে browser.*বিভাজিত অ্যাট্রিবিউট সহ কুকি রিড বা পরিবর্তন করার জন্য পার্টিশন কী।
-
পথ
স্ট্রিং ঐচ্ছিক
কুকির পাথ। url প্যারামিটারের পাথ অংশে ডিফল্ট হিসেবে সেট করা হয়।
-
sameSite
SameSiteStatus ঐচ্ছিক
Chrome 51+ browser.* Chrome 148 থেকেকুকির সেম-সাইট স্ট্যাটাস। ডিফল্ট হিসেবে "উল্লেখ করা নেই" থাকে, অর্থাৎ, বাদ দেওয়া হলে, SameSite অ্যাট্রিবিউট উল্লেখ না করেই কুকি সেট করা হয়।
-
সুরক্ষিত
বুলিয়ান ঐচ্ছিক
কুকি 'নিরাপদ' হিসেবে চিহ্নিত করা হবে কিনা। ডিফল্ট হিসেবে false সেট করা থাকে।
-
storeId
স্ট্রিং ঐচ্ছিক
কুকি স্টোরের আইডি যেখানে কুকি সেট করতে হবে। ডিফল্ট হিসেবে, কুকি বর্তমান এক্সিকিউশন কনটেক্সটের কুকি স্টোরে সেট করা থাকে।
-
URL
স্ট্রিং
কুকির সেটিংসের সাথে যুক্ত করার জন্য অনুরোধ-URI। এই ভ্যালু তৈরি করা কুকির ডিফল্ট ডোমেন ও পাথ ভ্যালুকে প্রভাবিত করতে পারে। ম্যানিফেস্ট ফাইলে এই URL-এর জন্য হোস্টের অনুমতি নির্দিষ্ট করা না থাকলে, API কল করা যাবে না।
-
মান
স্ট্রিং ঐচ্ছিক
কুকির ভ্যালু। বাদ দেওয়া হলে ডিফল্ট হিসেবে ফাঁকা থাকে।
-
রিটার্ন
-
Promise<Cookie | undefined>
Chrome 88+ Chrome 148 থেকে browser.*
ইভেন্ট
onChanged
browser.cookies.onChanged.addListener(
callback: function,
)
কুকি সেট বা সরিয়ে দেওয়া হলে ফায়ার করা হয়। বিশেষ ক্ষেত্রে, মনে রাখবেন যে কুকির প্রপার্টি আপডেট করার প্রসেস দুটি ধাপে সম্পূর্ণ হয়: যে কুকি আপডেট করতে হবে সেটি প্রথমে সম্পূর্ণভাবে সরিয়ে দেওয়া হয়, "ওভাররাইট" করার "কারণ" সহ একটি বিজ্ঞপ্তি জেনারেট করা হয়। এর পরে, আপডেট করা ভ্যালু সহ একটি নতুন কুকি লেখা হয়, যা "কারণ" "স্পষ্ট" সহ একটি দ্বিতীয় বিজ্ঞপ্তি তৈরি করে।
প্যারামিটারগুলি
-
কলব্যাক
ফাংশন
callbackপ্যারামিটারটি দেখতে এইরকম:(changeInfo: object) => void
-
changeInfo
অবজেক্ট
-
কারণ
কুকি পরিবর্তনের অন্তর্নিহিত কারণ।
-
কুকি
সেট করা বা সরিয়ে দেওয়া কুকি সম্পর্কে তথ্য।
-
সরানো হয়েছে
বুলিয়ান
কুকি সরানো হলে ট্রু।
-
-