الوصف
استخدِم واجهة برمجة التطبيقات chrome.privacy
للتحكّم في استخدام الميزات في Chrome التي يمكن أن تؤثّر في خصوصية المستخدم. تعتمد واجهة برمجة التطبيقات هذه على نموذج ChromeSetting من النوع API للحصول على إعدادات 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!');
}
});
إنّ تغيير قيمة أحد الإعدادات أكثر تعقيدًا بعض الشيء، لأنّك يجب أولاً التأكّد مما يلي:
أنّ إضافة Chrome يمكنها التحكّم في الإعداد. لن يلاحظ المستخدم أي تغيير في إعداداته إذا كانت
إضافتك تبدِّل إعدادًا إما تم قفله على قيمة معيّنة من خلال سياسات المؤسسة
(سيتم ضبط 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
تعداد
"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
. -
webRTCIPHandlingPolicyChrome 48 والإصدارات الأحدث
السماح للمستخدمين بتحديد مفاضلات الأداء/الخصوصية في الوسائط التي تؤثّر في كيفية توجيه زيارات 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>
Chrome 111 والإصدارات الأحدثفي حال إيقاف هذه الإعدادات، سيتم إيقاف Attribution Reporting API وPrivate Aggregation API. تكون قيمة الإعداد المفضّل هذا من النوع المنطقي، والقيمة التلقائية هي
true
. لا يمكن للإضافات إيقاف واجهات برمجة التطبيقات هذه إلا من خلال ضبط القيمة علىfalse
. إذا حاولت ضبط واجهات برمجة التطبيقات هذه علىtrue
، سيظهر خطأ. -
doNotTrackEnabled
types.ChromeSetting<boolean>
Chrome 65 والإصدارات الأحدثإذا كان خيار "عدم التتبّع" مفعّلاً، يُرسِل Chrome عنوان "عدم التتبّع" (
DNT: 1
) مع طلباتك. تكون قيمة الإعداد المفضّل هذا من النوع المنطقي، والقيمة التلقائية هيfalse
. -
fledgeEnabled
types.ChromeSetting<boolean>
Chrome 111 والإصدارات الأحدثفي حال إيقافها، يتم إيقاف 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>
Chrome 121 والإصدارات الأحدثفي حال إيقاف هذه الميزة، يتم إيقاف مجموعات المواقع الإلكترونية المرتبطة. تكون قيمة الإعداد المفضّل هذا من النوع المنطقي، والقيمة التلقائية هي
true
. لا يمكن للإضافات إيقاف واجهة برمجة التطبيقات هذه إلا من خلال ضبط القيمة علىfalse
. إذا حاولت ضبط واجهة برمجة التطبيقات هذه علىtrue
، ستظهر رسالة خطأ. -
thirdPartyCookiesAllowed
types.ChromeSetting<boolean>
في حال إيقاف هذا الخيار، يحظر Chrome على المواقع الإلكترونية التابعة لجهات خارجية ضبط ملفات تعريف الارتباط. تكون قيمة الإعداد المفضّل هذا من النوع المنطقي، والقيمة التلقائية هي
true
.**ملاحظة:**قد يظل بإمكان مواقع إلكترونية فردية الوصول إلى ملفات تعريف الارتباط التابعة لجهات خارجية عندما تعرض واجهة برمجة التطبيقات هذه القيمة
false
، إذا كانت تمتلك إعفاءً صالحًا أو كانت تستخدم واجهة برمجة التطبيقات Storage Access API بدلاً من ذلك. -
topicsEnabled
types.ChromeSetting<boolean>
Chrome 111 والإصدارات الأحدثفي حال إيقافها، يتم إيقاف Topics API. تكون قيمة الإعداد المفضّل هذا من النوع المنطقي، والقيمة التلقائية هي
true
. لا يمكن للإضافات إيقاف واجهة برمجة التطبيقات هذه إلا من خلال ضبط القيمة علىfalse
. إذا حاولت ضبط واجهة برمجة التطبيقات هذه علىtrue
، ستظهر رسالة خطأ.