الوصف
استخدِم واجهة برمجة التطبيقات chrome.privacy
للتحكّم في استخدام الميزات في Chrome التي يمكن أن تؤثر في خصوصية المستخدم. تعتمد واجهة برمجة التطبيقات هذه على نموذج ChromeSetting الأوّلي لواجهة برمجة التطبيقات من النوع للحصول على إعدادات Chrome وتحديدها.
الأذونات
privacy
يجب الإفصاح عن إذن "الخصوصية" في بيان الإضافة لاستخدام واجهة برمجة التطبيقات. على سبيل المثال:
{
"name": "My extension",
...
"permissions": [
"privacy"
],
...
}
المفاهيم والاستخدام
قراءة القيمة الحالية لأحد إعدادات Chrome أمر بسيط. عليك أولاً العثور على السمة التي تهمّك، ثم استدعاء get()
على هذا العنصر من أجل استرداد قيمته الحالية ومستوى التحكّم في الإضافة. على سبيل المثال، لتحديد ما إذا كانت ميزة الملء التلقائي لبطاقات الائتمان في Chrome مفعّلة، يمكنك كتابة ما يلي:
chrome.privacy.services.autofillCreditCardEnabled.get({}, function(details) {
if (details.value) {
console.log('Autofill is on!');
} else {
console.log('Autofill is off!');
}
});
يُعدّ تغيير قيمة أحد الإعدادات أكثر تعقيدًا بعض الشيء، لأنّه يجب أولاً التأكّد من أنّ الإضافة يمكنها التحكّم في الإعداد. لن يلاحظ المستخدم أي تغيير في إعداداته إذا كانت الإضافة تبدّل إعدادًا إما تم قفله على قيمة معيّنة بموجب سياسات المؤسسة (سيتم ضبط levelOfControl
على "not_controllable")، أو إذا كانت إضافة أخرى تتحكّم في القيمة (سيتم ضبط levelOfControl
على "controlled_by_other_extensions"). ستنجح مكالمة set()
، ولكن سيتم تجاهل الإعداد على الفور. وبما أنّ ذلك قد يكون مربكًا، ننصحك بتنبيه المستخدم عندما لا يتم تطبيق الإعدادات التي اختارها.
هذا يعني أنّه عليك استخدام طريقة get()
لتحديد مستوى الوصول، ثم استدعاء set()
فقط إذا كان بإمكان الإضافة التحكّم في الإعداد (في الواقع، إذا لم يكن بإمكان الإضافة التحكّم في الإعداد، من الأفضل إيقاف الميزة بشكل مرئي لتجنُّب إرباك المستخدم):
chrome.privacy.services.autofillCreditCardEnabled.get({}, function(details) {
if (details.levelOfControl === 'controllable_by_this_extension') {
chrome.privacy.services.autofillCreditCardEnabled.set({ value: true }, function() {
if (chrome.runtime.lastError === undefined) {
console.log("Hooray, it worked!");
} else {
console.log("Sadness!", chrome.runtime.lastError);
}
});
}
});
إذا كنت مهتمًا بالتغييرات التي تطرأ على قيمة أحد الإعدادات، أضِف أداة معالجة إلى حدث onChange
. من بين الاستخدامات الأخرى، سيسمح لك ذلك بتنبيه المستخدم إذا كانت إضافة تم تثبيتها مؤخرًا تتحكّم في أحد الإعدادات، أو إذا كانت سياسة المؤسسة تتجاوز إذن التحكّم الخاص بك. للاستماع إلى التغييرات في حالة الملء التلقائي لبطاقة الائتمان، على سبيل المثال، سيكون الرمز التالي كافيًا:
chrome.privacy.services.autofillCreditCardEnabled.onChange.addListener(
function (details) {
// The new value is stored in `details.value`, the new level of control
// in `details.levelOfControl`, and `details.incognitoSpecific` will be
// `true` if the value is specific to Incognito mode.
}
);
أمثلة
لتجربة واجهة برمجة التطبيقات هذه، ثبِّت مثال واجهة برمجة التطبيقات المتعلقة بالخصوصية من مستودع chrome-extension-samples.
الأنواع
IPHandlingPolicy
سياسة معالجة عنوان IP على WebRTC
Enum
"default"
"default_public_and_private_interfaces"
"default_public_interface_only"
"disable_non_proxied_udp"
الخصائص
network
الإعدادات التي تؤثّر في طريقة تعامل Chrome مع اتصالات الشبكة بشكل عام
النوع
عنصر
الخصائص
-
networkPredictionEnabled
types.ChromeSetting<boolean>
في حال تفعيل هذه الميزة، يحاول Chrome تسريع تجربة تصفّح الويب من خلال حلّ إدخالات نظام أسماء النطاقات مسبقًا وفتح اتصالات بروتوكول التحكّم في الإرسال (TCP) وطبقة المقابس الآمنة (SSL) بشكل استباقي مع الخوادم. لا يؤثر هذا الخيار إلا في الإجراءات التي تتخذها خدمة التوقّع الداخلية في Chrome. ولا يؤثر ذلك في عمليات الجلب المسبق أو الربط المسبق التي تبدأها صفحات الويب. قيمة هذا الخيار المفضّل هي قيمة منطقية، والقيمة التلقائية هي
true
. -
webRTCIPHandlingPolicyالإصدار 48 من Chrome والإصدارات الأحدث
السماح للمستخدمين بتحديد المفاضلة بين أداء الوسائط والخصوصية، ما يؤثر في كيفية توجيه زيارات WebRTC ومقدار المعلومات التي يتم الكشف عنها بشأن العناوين المحلية قيمة هذا الخيار المفضّل هي من النوع IPHandlingPolicy، والقيمة التلقائية هي
default
.
services
الإعدادات التي تفعّل أو توقف الميزات التي تتطلّب خدمات شبكة تابعة لجهات خارجية تقدّمها Google ومزوّد البحث التلقائي
النوع
عنصر
الخصائص
-
alternateErrorPagesEnabled
types.ChromeSetting<boolean>
في حال تفعيل هذا الخيار، يستخدم Chrome خدمة ويب للمساعدة في حلّ أخطاء التنقّل. قيمة هذا الخيار المفضّل هي قيمة منطقية، والقيمة التلقائية هي
true
. -
autofillAddressEnabled
types.ChromeSetting<boolean>
الإصدار 70 من Chrome والإصدارات الأحدثفي حال تفعيل هذا الخيار، يقترح Chrome ملء العناوين وبيانات النماذج الأخرى تلقائيًا. قيمة هذا الخيار المفضّل هي قيمة منطقية، والقيمة التلقائية هي
true
. -
autofillCreditCardEnabled
types.ChromeSetting<boolean>
الإصدار 70 من Chrome والإصدارات الأحدثفي حال تفعيل هذا الخيار، يعرض Chrome ملء نماذج بطاقات الائتمان تلقائيًا. قيمة هذا الخيار المفضّل هي قيمة منطقية، والقيمة التلقائية هي
true
. -
autofillEnabled
types.ChromeSetting<boolean>
تم إيقافها نهائيًا منذ الإصدار 70 من Chromeيُرجى استخدام privacy.services.autofillAddressEnabled وprivacy.services.autofillCreditCardEnabled. سيظل هذا الخيار متاحًا للتوافق مع الأنظمة القديمة في هذا الإصدار، وسيتم إزالته في المستقبل.
في حال تفعيل هذا الخيار، يقترح Chrome ملء النماذج تلقائيًا. قيمة هذا الخيار المفضّل هي قيمة منطقية، والقيمة التلقائية هي
true
. -
passwordSavingEnabled
types.ChromeSetting<boolean>
في حال تفعيل هذه الميزة، سيطلب منك مدير كلمات المرور تحديد ما إذا كنت تريد حفظ كلمات المرور. قيمة هذا الخيار المفضّل هي قيمة منطقية، والقيمة التلقائية هي
true
. -
safeBrowsingEnabled
types.ChromeSetting<boolean>
في حال تفعيلها، يبذل Chrome قصارى جهده لحمايتك من التصيّد الاحتيالي والبرامج الضارة. قيمة هذا الخيار المفضّل هي قيمة منطقية، والقيمة التلقائية هي
true
. -
safeBrowsingExtendedReportingEnabled
types.ChromeSetting<boolean>
في حال تفعيل هذا الخيار، سيرسل Chrome معلومات إضافية إلى Google عندما تحظر ميزة "التصفّح الآمن" صفحة معيّنة، مثل محتوى الصفحة المحظورة. قيمة هذا الخيار المفضّل هي قيمة منطقية، والقيمة التلقائية هي
false
. -
searchSuggestEnabled
types.ChromeSetting<boolean>
في حال تفعيل هذا الخيار، يرسل Chrome النص الذي تكتبه في المربّع المتعدد الاستخدامات إلى محرك البحث التلقائي، الذي يقدّم توقعات للمواقع الإلكترونية وعمليات البحث التي من المحتمل أن تكون إكمالات لما كتبته حتى الآن. قيمة هذا الخيار المفضّل هي قيمة منطقية، والقيمة التلقائية هي
true
. -
spellingServiceEnabled
types.ChromeSetting<boolean>
في حال تفعيل هذا الخيار، يستخدم Chrome خدمة ويب للمساعدة في تصحيح الأخطاء الإملائية. قيمة هذا الخيار المفضّل هي قيمة منطقية، والقيمة التلقائية هي
false
. -
translationServiceEnabled
types.ChromeSetting<boolean>
في حال تفعيل هذا الخيار، يعرض Chrome ترجمة الصفحات المكتوبة بلغة غير لغتك. قيمة هذا الخيار المفضّل هي قيمة منطقية، والقيمة التلقائية هي
true
.
websites
الإعدادات التي تحدّد المعلومات التي يتيحها Chrome للمواقع الإلكترونية
النوع
عنصر
الخصائص
-
adMeasurementEnabled
types.ChromeSetting<boolean>
الإصدار 111 من Chrome والإصدارات الأحدثفي حال إيقافها، سيتم إيقاف Attribution Reporting API وPrivate Aggregation API. قيمة هذا الخيار المفضّل هي من النوع المنطقي، والقيمة التلقائية هي
true
. يمكن للإضافات إيقاف هذه الواجهات فقط من خلال ضبط القيمة علىfalse
. إذا حاولت ضبط قيم هذه الواجهات علىtrue
، سيظهر لك خطأ. -
doNotTrackEnabled
types.ChromeSetting<boolean>
Chrome 65 والإصدارات الأحدثفي حال تفعيل هذه الميزة، يرسل Chrome العنوان "عدم التتبّع" (
DNT: 1
) مع طلباتك. قيمة هذا الخيار المفضّل هي من النوع المنطقي، والقيمة التلقائية هيfalse
. -
fledgeEnabled
types.ChromeSetting<boolean>
الإصدار 111 من Chrome والإصدارات الأحدثفي حال إيقافها، يتم إيقاف Fledge API. قيمة هذا الخيار المفضّل هي من النوع المنطقي، والقيمة التلقائية هي
true
. يمكن للإضافات إيقاف هذه الواجهة فقط من خلال ضبط القيمة علىfalse
. إذا حاولت ضبط واجهة برمجة التطبيقات هذه علىtrue
، سيظهر لك خطأ. -
hyperlinkAuditingEnabled
types.ChromeSetting<boolean>
في حال تفعيل هذا الخيار، يرسل Chrome طلبات اختبار الأداء عند طلبها من قِبل موقع إلكتروني (
<a ping>
). قيمة هذا الخيار هي من النوع منطقي، والقيمة التلقائية هيtrue
. -
protectedContentEnabled
types.ChromeSetting<boolean>
متوفّرة على أجهزة Windows وChromeOS فقط: في حال تفعيلها، يقدّم Chrome رقم تعريف فريدًا للمكوّنات الإضافية من أجل تشغيل المحتوى المحمي. قيمة هذا الخيار المفضّل هي من النوع المنطقي، والقيمة التلقائية هي
true
. -
referrersEnabled
types.ChromeSetting<boolean>
في حال تفعيل هذه الميزة، يرسل Chrome عناوين
referer
مع طلباتك. نعم، لا يتطابق اسم هذا الخيار مع العنوان المكتوب بشكل خاطئ. لا، لن نغيّرها. قيمة هذا الخيار المفضّل هي من النوع المنطقي، والقيمة التلقائية هيtrue
. -
types.ChromeSetting<boolean>
الإصدار 121 من Chrome والإصدارات الأحدثفي حال إيقافها، سيتم إيقاف ميزة مجموعات المواقع الإلكترونية المرتبطة. قيمة هذا الخيار المفضّل هي من النوع المنطقي، والقيمة التلقائية هي
true
. يمكن للإضافات إيقاف هذه الواجهة فقط من خلال ضبط القيمة علىfalse
. إذا حاولت ضبط واجهة برمجة التطبيقات هذه علىtrue
، سيظهر لك خطأ. -
thirdPartyCookiesAllowed
types.ChromeSetting<boolean>
في حال إيقاف هذا الخيار، سيمنع Chrome المواقع الإلكترونية التابعة لجهات خارجية من تخزين ملفات تعريف الارتباط. قيمة هذا الخيار المفضّل هي من النوع المنطقي، والقيمة التلقائية هي
true
. قد لا تسمح الإضافات بتفعيل واجهة برمجة التطبيقات هذه في "وضع التصفّح المتخفي"، حيث يتم حظر ملفات تعريف الارتباط الخارجية، ولا يمكن السماح بها إلا على مستوى الموقع الإلكتروني. إذا حاولت ضبط واجهة برمجة التطبيقات هذه على "صحيح" في وضع التصفّح المتخفي، سيظهر خطأ.ملاحظة: قد تظل المواقع الفردية قادرة على الوصول إلى ملفات تعريف الارتباط التابعة لجهات خارجية عندما تعرض واجهة برمجة التطبيقات هذه القيمة
false
، إذا كان لديها إذن صالح أو إذا كانت تستخدم Storage Access API بدلاً من ذلك. -
topicsEnabled
types.ChromeSetting<boolean>
الإصدار 111 من Chrome والإصدارات الأحدثفي حال إيقافها، يتم إيقاف Topics API. قيمة هذا الخيار المفضّل هي من النوع المنطقي، والقيمة التلقائية هي
true
. يمكن للإضافات إيقاف هذه الواجهة فقط من خلال ضبط القيمة علىfalse
. إذا حاولت ضبط واجهة برمجة التطبيقات هذه علىtrue
، سيظهر لك خطأ.