الوصف
استخدِم واجهة برمجة التطبيقات chrome.cookies للاستعلام عن ملفات تعريف الارتباط وتعديلها، ولتلقّي إشعارات عند تغييرها.
الأذونات
cookiesالبيان
لاستخدام واجهة برمجة التطبيقات الخاصة بملفات تعريف الارتباط، يجب تضمين الإذن "cookies" في ملف البيان، بالإضافة إلى أذونات المضيف لأي مضيفين تريد الوصول إلى ملفات تعريف الارتباط الخاصة بهم. على سبيل المثال:
{
  "name": "My extension",
  ...
  "host_permissions": [
    "*://*.google.com/"
  ],
  "permissions": [
    "cookies"
  ],
  ...
}
التقسيم
تسمح ملفات تعريف الارتباط المقسَّمة لأحد المواقع الإلكترونية بالإشارة إلى أنّه يجب ربط ملفات تعريف ارتباط معيّنة بمصدر الإطار ذي المستوى الأعلى. وهذا يعني أنّه إذا تم تضمين الموقع الإلكتروني (أ) باستخدام إطار iframe في الموقع الإلكتروني (ب) والموقع الإلكتروني (ج)، يمكن أن تتضمّن ملفات تعريف الارتباط المقسّمة قيمة مختلفة في كل موقع إلكتروني.
لا تتيح chrome.cookies التقسيم، ما يعني أنّ جميع الطرق تقرأ ملفات تعريف الارتباط وتكتبها من جميع الأقسام. يخزّن أسلوب cookies.set() ملفات تعريف الارتباط في القسم التلقائي.
للحصول على تفاصيل حول التأثير العام لتقسيم مساحة التخزين على الإضافات، يُرجى الاطّلاع على مساحة التخزين وملفات تعريف الارتباط.
أمثلة
يمكنك العثور على مثال بسيط لاستخدام واجهة برمجة التطبيقات الخاصة بملفات تعريف الارتباط في الدليل examples/api/cookies. للاطّلاع على أمثلة أخرى وللحصول على مساعدة في عرض رمز المصدر، راجِع الأمثلة.
الأنواع
Cookie
تمثّل هذه السمة معلومات عن ملف تعريف ارتباط HTTP.
الخصائص
- 
    نطاقسلسلة نطاق ملف تعريف الارتباط (مثل "www.google.com" أو "example.com") 
- 
    expirationDatenumber اختياري تاريخ انتهاء صلاحية ملف تعريف الارتباط، ويتم التعبير عنه بعدد الثواني منذ بدء حساب الفترة في نظام UNIX. لا يتم توفيرها لملفات تعريف ارتباط الجلسة. 
- 
    hostOnlyقيمة منطقية يتم ضبط القيمة على "true" إذا كان ملف تعريف الارتباط متاحًا للمضيف فقط (أي يجب أن يتطابق مضيف الطلب تمامًا مع نطاق ملف تعريف الارتباط). 
- 
    httpOnlyقيمة منطقية القيمة "صحيح" إذا تم وضع علامة HttpOnly على ملف تعريف الارتباط (أي لا يمكن الوصول إلى ملف تعريف الارتباط من خلال البرامج النصية من جهة العميل). 
- 
    الاسمسلسلة تمثّل هذه السمة اسم ملف تعريف الارتباط. 
- 
    partitionKeyCookiePartitionKey اختياري الإصدار 119 من Chrome والإصدارات الأحدثمفتاح التقسيم لقراءة ملفات تعريف الارتباط أو تعديلها باستخدام السمة Partitioned 
- 
    المسارسلسلة مسار ملف تعريف الارتباط 
- 
    sameSiteChrome 51 والإصدارات الأحدثحالة ملف تعريف الارتباط على الموقع الإلكتروني نفسه (أي ما إذا كان يتم إرسال ملف تعريف الارتباط مع الطلبات المُرسَلة من مواقع إلكترونية مختلفة) 
- 
    آمنقيمة منطقية يتم عرض القيمة "صحيح" إذا تم وضع علامة "آمن" على ملف تعريف الارتباط (أي أنّ نطاقه يقتصر على القنوات الآمنة، مثل HTTPS عادةً). 
- 
    جلسةقيمة منطقية تكون القيمة صحيحة إذا كان ملف تعريف الارتباط هو ملف تعريف ارتباط للجلسة، وليس ملف تعريف ارتباط دائمًا له تاريخ انتهاء صلاحية. 
- 
    storeIdسلسلة معرّف متجر ملفات تعريف الارتباط الذي يحتوي على ملف تعريف الارتباط هذا، كما هو موضّح في getAllCookieStores(). 
- 
    القيمةسلسلة تمثّل هذه السمة قيمة ملف تعريف الارتباط. 
CookieDetails
تفاصيل لتحديد ملف تعريف الارتباط
الخصائص
- 
    الاسمسلسلة اسم ملف تعريف الارتباط الذي سيتم الوصول إليه. 
- 
    partitionKeyCookiePartitionKey اختياري الإصدار 119 من Chrome والإصدارات الأحدثمفتاح التقسيم لقراءة ملفات تعريف الارتباط أو تعديلها باستخدام السمة Partitioned 
- 
    storeIdسلسلة اختيارية معرّف متجر ملفات تعريف الارتباط الذي سيتم البحث فيه عن ملف تعريف الارتباط سيتم تلقائيًا استخدام متجر ملفات تعريف الارتباط لسياق التنفيذ الحالي. 
- 
    urlسلسلة عنوان URL المرتبط بملف تعريف الارتباط المطلوب الوصول إليه يمكن أن تكون هذه الوسيطة عنوان URL كاملاً، وفي هذه الحالة يتم تجاهل أي بيانات تلي مسار عنوان URL (مثل سلسلة طلب البحث). إذا لم يتم تحديد أذونات المضيف لعنوان URL هذا في ملف البيان، سيتعذّر طلب البيانات من واجهة برمجة التطبيقات. 
CookiePartitionKey
تمثّل هذه السمة مفتاح تقسيم ملف تعريف الارتباط المُقسَّم.
الخصائص
- 
    hasCrossSiteAncestorboolean اختياري الإصدار 130 من Chrome والإصدارات الأحدثتشير إلى ما إذا تم ضبط ملف تعريف الارتباط في سياق موقع إلكتروني متعدد المصادر. يمنع ذلك موقعًا إلكترونيًا على المستوى الأعلى مضمّنًا في سياق على جميع المواقع الإلكترونية من الوصول إلى ملفات تعريف الارتباط التي يضبطها الموقع الإلكتروني على المستوى الأعلى في سياق الموقع الإلكتروني نفسه. 
- 
    topLevelSiteسلسلة اختيارية الموقع الإلكتروني ذو المستوى الأعلى الذي يتوفّر فيه ملف تعريف الارتباط المُقسَّم 
CookieStore
تمثّل هذه السمة مخزنًا لملفات تعريف الارتباط في المتصفّح. على سبيل المثال، تستخدم نافذة وضع التصفّح المتخفي مساحة تخزين منفصلة لملفات تعريف الارتباط عن نافذة غير متخفية.
الخصائص
- 
    idسلسلة المعرّف الفريد لمخزن ملفات تعريف الارتباط 
- 
    tabIdsnumber[] معرّفات جميع علامات تبويب المتصفّح التي تشارك متجر ملفات تعريف الارتباط هذا 
FrameDetails
تفاصيل لتحديد الإطار
الخصائص
- 
    documentIdسلسلة اختيارية المعرّف الفريد للمستند. في حال توفير frameId و/أو tabId، سيتم التحقّق من صحتهما للتأكّد من تطابقهما مع المستند الذي تم العثور عليه باستخدام رقم تعريف المستند المقدَّم. 
- 
    frameIdnumber اختياري المعرّف الفريد للإطار ضمن علامة التبويب 
- 
    tabIdnumber اختياري المعرّف الفريد للعلامة التي تحتوي على الإطار 
OnChangedCause
السبب الأساسي وراء تغيير ملف تعريف الارتباط إذا تم إدراج ملف تعريف ارتباط أو إزالته من خلال طلب صريح إلى "chrome.cookies.remove"، ستكون "السبب" هي "صريح". إذا تمت إزالة ملف تعريف ارتباط تلقائيًا بسبب انتهاء صلاحيته، ستكون "السبب" هي "انتهت صلاحيته". إذا تمت إزالة ملف تعريف ارتباط بسبب استبداله بتاريخ انتهاء صلاحية منتهي الصلاحية، سيتم ضبط "السبب" على "expired_overwrite". إذا تمت إزالة ملف تعريف ارتباط تلقائيًا بسبب جمع البيانات غير الضرورية، ستكون "السبب" هي "تمت إزالته". إذا تمت إزالة ملف تعريف ارتباط تلقائيًا بسبب طلب "set" الذي كتب فوقه، ستكون "السبب" هي "الكتابة فوق". خطِّط لردّك وفقًا لذلك.
Enum
"evicted" 
 
"منتهية الصلاحية" 
 
"explicit" 
 
"expired_overwrite" 
 
"overwrite" 
 
SameSiteStatus
حالة SameSite لملف تعريف الارتباط (https://tools.ietf.org/html/draft-west-first-party-cookies) يتوافق الخيار "no_restriction" مع ملف تعريف ارتباط تم ضبطه على "SameSite=None"، ويتوافق الخيار "lax" مع "SameSite=Lax"، ويتوافق الخيار "strict" مع "SameSite=Strict". تشير القيمة "unspecified" إلى ملف تعريف ارتباط تم ضبطه بدون سمة SameSite.
Enum
"no_restriction" 
 
"lax" 
 
"strict" 
 
"unspecified" 
 
الطُرق
get()
chrome.cookies.get(
details: CookieDetails,
callback?: function,
): Promise<Cookie | undefined>
تُستخدَم لاسترداد معلومات عن ملف تعريف ارتباط واحد. إذا كان هناك أكثر من ملف تعريف ارتباط واحد بالاسم نفسه لعنوان URL معيّن، سيتم عرض ملف تعريف الارتباط الذي يتضمّن أطول مسار. بالنسبة إلى ملفات تعريف الارتباط التي لها طول المسار نفسه، سيتم عرض ملف تعريف الارتباط الذي تم إنشاؤه في أقرب وقت.
المعلمات
- 
    التفاصيل
- 
    callbackالدالة اختيارية تظهر المَعلمة callbackعلى النحو التالي:(cookie?: Cookie) => void - 
    كعكة محلاةملف تعريف الارتباط اختياري تحتوي على تفاصيل حول ملف تعريف الارتباط. تكون هذه المَعلمة فارغة إذا لم يتم العثور على ملف تعريف ارتباط من هذا النوع. 
 
- 
    
المرتجعات
- 
            Promise<Cookie | undefined> الإصدار 88 من Chrome والإصدارات الأحدثلا تتوافق الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال. 
getAll()
chrome.cookies.getAll(
details: object,
callback?: function,
): Promise<Cookie[]>
تسترجع جميع ملفات تعريف الارتباط من متجر ملفات تعريف ارتباط واحد يتطابق مع المعلومات المقدَّمة. سيتم ترتيب ملفات تعريف الارتباط التي يتم عرضها، مع عرض تلك التي تتضمّن أطول مسار أولاً. إذا كانت لملفات تعريف الارتباط المتعددة طول المسار نفسه، ستكون ملفات تعريف الارتباط التي تم إنشاؤها في أقرب وقت هي الأولى. لا تستردّ هذه الطريقة ملفات تعريف الارتباط إلا للنطاقات التي تملك الإضافة أذونات المضيف لها.
المعلمات
- 
    التفاصيلعنصر معلومات لفلترة ملفات تعريف الارتباط التي يتم استردادها - 
    نطاقسلسلة اختيارية يقتصر على ملفات تعريف الارتباط التي تتطابق نطاقاتها مع هذا النطاق أو تكون نطاقات فرعية منه. 
- 
    الاسمسلسلة اختيارية تتم فلترة ملفات تعريف الارتباط حسب الاسم. 
- 
    partitionKeyCookiePartitionKey اختياري الإصدار 119 من Chrome والإصدارات الأحدثمفتاح التقسيم لقراءة ملفات تعريف الارتباط أو تعديلها باستخدام السمة Partitioned 
- 
    المسارسلسلة اختيارية يقتصر على ملفات تعريف الارتباط التي يتطابق مسارها تمامًا مع هذه السلسلة. 
- 
    آمنboolean اختياري تتم فلترة ملفات تعريف الارتباط حسب خاصية Secure. 
- 
    جلسةboolean اختياري فلترة ملفات تعريف ارتباط الجلسة مقابل ملفات تعريف الارتباط الدائمة 
- 
    storeIdسلسلة اختيارية متجر ملفات تعريف الارتباط الذي سيتم استرداد ملفات تعريف الارتباط منه. في حال حذفها، سيتم استخدام متجر ملفات تعريف الارتباط في سياق التنفيذ الحالي. 
- 
    urlسلسلة اختيارية يحصر ملفات تعريف الارتباط التي تم استرجاعها في تلك التي تتطابق مع عنوان URL المحدّد. 
 
- 
    
- 
    callbackالدالة اختيارية تظهر المَعلمة callbackعلى النحو التالي:(cookies: Cookie[]) => void - 
    ملفات تعريف الارتباطCookie[] جميع ملفات تعريف الارتباط الحالية التي لم تنتهِ صلاحيتها والتي تتطابق مع معلومات ملف تعريف الارتباط المقدَّمة 
 
- 
    
المرتجعات
- 
            Promise<Cookie[]> الإصدار 88 من Chrome والإصدارات الأحدثلا تتوافق الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال. 
getAllCookieStores()
chrome.cookies.getAllCookieStores(
callback?: function,
): Promise<CookieStore[]>
تعرِض هذه السمة جميع مستودعات ملفات تعريف الارتباط الحالية.
المعلمات
- 
    callbackالدالة اختيارية تظهر المَعلمة callbackعلى النحو التالي:(cookieStores: CookieStore[]) => void - 
    cookieStoresجميع متاجر ملفات تعريف الارتباط الحالية 
 
- 
    
المرتجعات
- 
            Promise<CookieStore[]> الإصدار 88 من Chrome والإصدارات الأحدثلا تتوافق الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال. 
getPartitionKey()
chrome.cookies.getPartitionKey(
details: FrameDetails,
callback?: function,
): Promise<object>
مفتاح القسم للإطار المحدّد
المعلمات
- 
    التفاصيل
- 
    callbackالدالة اختيارية تظهر المَعلمة callbackعلى النحو التالي:(details: object) => void - 
    التفاصيلعنصر يحتوي على تفاصيل حول مفتاح القسم الذي تم استرداده. - 
    partitionKeyمفتاح التقسيم لقراءة ملفات تعريف الارتباط أو تعديلها باستخدام السمة Partitioned 
 
- 
    
 
- 
    
المرتجعات
- 
            Promise<object> لا تتوافق الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال. 
remove()
chrome.cookies.remove(
details: CookieDetails,
callback?: function,
): Promise<object | undefined>
يحذف ملف تعريف ارتباط حسب الاسم.
المعلمات
- 
    التفاصيل
- 
    callbackالدالة اختيارية تظهر المَعلمة callbackعلى النحو التالي:(details?: object) => void - 
    التفاصيلالعنصر اختياري تحتوي هذه السمة على تفاصيل حول ملف تعريف الارتباط الذي تمت إزالته. إذا تعذّر إزالة الإذن لأي سبب، ستكون القيمة "null"، وسيتم ضبط runtime.lastError.- 
    الاسمسلسلة اسم ملف تعريف الارتباط الذي تمت إزالته 
- 
    partitionKeyCookiePartitionKey اختياري الإصدار 119 من Chrome والإصدارات الأحدثمفتاح التقسيم لقراءة ملفات تعريف الارتباط أو تعديلها باستخدام السمة Partitioned 
- 
    storeIdسلسلة رقم تعريف متجر ملفات تعريف الارتباط الذي تمت إزالة ملف تعريف الارتباط منه. 
- 
    urlسلسلة تمثّل هذه السمة عنوان URL المرتبط بملف تعريف الارتباط الذي تمت إزالته. 
 
- 
    
 
- 
    
المرتجعات
- 
            Promise<object | undefined> الإصدار 88 من Chrome والإصدارات الأحدثلا تتوافق الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال. 
set()
chrome.cookies.set(
details: object,
callback?: function,
): Promise<Cookie | undefined>
تضبط هذه السمة ملف تعريف ارتباط باستخدام بيانات ملف تعريف الارتباط المحدّدة، وقد تستبدل ملفات تعريف الارتباط المشابهة إذا كانت متوفّرة.
المعلمات
- 
    التفاصيلعنصر تفاصيل حول ملف تعريف الارتباط الذي يتم ضبطه - 
    نطاقسلسلة اختيارية تمثّل هذه السمة نطاق ملف تعريف الارتباط. في حال حذفها، يصبح ملف تعريف الارتباط متاحًا للمضيف فقط. 
- 
    expirationDatenumber اختياري تاريخ انتهاء صلاحية ملف تعريف الارتباط، ويتم التعبير عنه بعدد الثواني منذ بدء حساب الفترة في نظام UNIX. في حال حذف هذا الحقل، يصبح ملف تعريف الارتباط ملف تعريف ارتباط للجلسة. 
- 
    httpOnlyboolean اختياري تحديد ما إذا كان يجب وضع علامة HttpOnly على ملف تعريف الارتباط. القيمة التلقائية هي "خطأ". 
- 
    الاسمسلسلة اختيارية تمثّل هذه السمة اسم ملف تعريف الارتباط. تكون فارغة تلقائيًا في حال عدم تضمينها. 
- 
    partitionKeyCookiePartitionKey اختياري الإصدار 119 من Chrome والإصدارات الأحدثمفتاح التقسيم لقراءة ملفات تعريف الارتباط أو تعديلها باستخدام السمة Partitioned 
- 
    المسارسلسلة اختيارية مسار ملف تعريف الارتباط القيمة التلقائية هي جزء المسار من مَعلمة عنوان URL. 
- 
    sameSiteSameSiteStatus اختيارية Chrome 51 والإصدارات الأحدثحالة ملف تعريف الارتباط على الموقع الإلكتروني نفسه القيمة التلقائية هي "unspecified"، أي أنّه في حال حذفها، يتم ضبط ملف تعريف الارتباط بدون تحديد سمة SameSite. 
- 
    آمنboolean اختياري لتحديد ما إذا كان يجب وضع علامة "آمن" على ملف تعريف الارتباط. القيمة التلقائية هي "خطأ". 
- 
    storeIdسلسلة اختيارية معرّف متجر ملفات تعريف الارتباط الذي سيتم ضبط ملف تعريف الارتباط فيه. يتم ضبط ملف تعريف الارتباط تلقائيًا في متجر ملفات تعريف الارتباط الخاص بسياق التنفيذ الحالي. 
- 
    urlسلسلة عنوان URI للطلب الذي سيتم ربطه بإعداد ملف تعريف الارتباط. يمكن أن تؤثّر هذه القيمة في قيم النطاق والمسار التلقائية لملف تعريف الارتباط الذي تم إنشاؤه. إذا لم يتم تحديد أذونات المضيف لعنوان URL هذا في ملف البيان، سيتعذّر طلب البيانات من واجهة برمجة التطبيقات. 
- 
    القيمةسلسلة اختيارية تمثّل هذه السمة قيمة ملف تعريف الارتباط. تكون فارغة تلقائيًا في حال عدم تضمينها. 
 
- 
    
- 
    callbackالدالة اختيارية تظهر المَعلمة callbackعلى النحو التالي:(cookie?: Cookie) => void - 
    كعكة محلاةملف تعريف الارتباط اختياري تحتوي على تفاصيل حول ملف تعريف الارتباط الذي تم ضبطه. إذا تعذّر ضبط القيمة لأي سبب، ستكون القيمة "null"، وسيتم ضبط runtime.lastError.
 
- 
    
المرتجعات
- 
            Promise<Cookie | undefined> الإصدار 88 من Chrome والإصدارات الأحدثلا تتوافق الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال. 
الفعاليات
onChanged
chrome.cookies.onChanged.addListener(
callback: function,
)
يتم تشغيل هذا الحدث عند ضبط ملف تعريف ارتباط أو إزالته. في حالة خاصة، يُرجى العِلم أنّ تعديل خصائص ملف تعريف الارتباط يتم على خطوتَين: تتم أولاً إزالة ملف تعريف الارتباط المراد تعديله بالكامل، ما يؤدي إلى إنشاء إشعار يتضمّن "السبب" "overwrite" . بعد ذلك، تتم كتابة ملف تعريف ارتباط جديد بالقيم المعدَّلة، ما يؤدي إلى إنشاء إشعار ثانٍ يتضمّن "السبب" "صريح".
المعلمات
- 
    callbackدالة تظهر المَعلمة callbackعلى النحو التالي:(changeInfo: object) => void - 
    changeInfoعنصر - 
    السببالسبب الأساسي وراء تغيير ملف تعريف الارتباط 
- 
    كعكة محلاةمعلومات عن ملف تعريف الارتباط الذي تم ضبطه أو إزالته 
- 
    تمت الإزالةقيمة منطقية قيمة منطقية صحيحة إذا تمت إزالة ملف تعريف ارتباط. 
 
- 
    
 
-