الوصف
يمكنك استخدام واجهة برمجة التطبيقات chrome.privacy
للتحكّم في استخدام الميزات في Chrome التي يمكن أن تؤثر في خصوصية المستخدم. تعتمد واجهة برمجة التطبيقات هذه على النموذج الأوّلي لإعداد Chrome لنوع واجهة برمجة التطبيقات للحصول على إعدادات Chrome وضبطها.
الأذونات
privacy
البيان
يجب الإفصاح عن "الخصوصية" في بيان الإضافة لاستخدام واجهة برمجة التطبيقات. بالنسبة مثال:
{
"name": "My extension",
...
"permissions": [
"privacy"
],
...
}
الاستخدام
يمكن قراءة القيمة الحالية لأحد إعدادات Chrome بسهولة. ستحتاج أولاً إلى العثور على
الذي يهمّك، عليك استدعاء get()
على ذلك العنصر لاسترداد
القيمة الحالية ومستوى التحكم في إضافتك. على سبيل المثال، لتحديد ما إذا كانت ميزة الملء التلقائي في Chrome
تمكين الميزة، فينبغي أن تكتب:
chrome.privacy.services.autofillEnabled.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.autofillEnabled.get({}, function(details) {
if (details.levelOfControl === 'controllable_by_this_extension') {
chrome.privacy.services.autofillEnabled.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.autofillEnabled.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_public_and_private_interfaces"
"default_public_interface_only"
"disable_non_proxied_udp"
أماكن إقامة
network
الإعدادات التي تؤثر في معالجة Chrome لاتصالات الشبكة بشكل عام.
النوع
كائن
أماكن إقامة
-
networkPredictionEnabled
types.ChromeSetting<boolean>
إذا تم تفعيل هذا الإعداد، يحاول Chrome زيادة سرعة تجربة التصفُّح على الويب من خلال حل مشاكل إدخالات نظام أسماء النطاقات مسبقًا وفتح اتصالات بروتوكول TCP وطبقة المقابس الآمنة بشكل استباقي إلى الخوادم. ولا يؤثر هذا التفضيل إلا في الإجراءات التي تتخذها خدمة التوقع الداخلية في 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>
متوقّف منذ إصدار Chrome 70يُرجى استخدام 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 وPrivacy Aggregation API. تكون قيمة هذا التفضيل من النوع المنطقي، والقيمة التلقائية هي
true
. ويمكن للإضافات إيقاف واجهات برمجة التطبيقات هذه فقط من خلال ضبط القيمة علىfalse
. إذا حاولت ضبط واجهات برمجة التطبيقات هذه علىtrue
، سيؤدي ذلك إلى حدوث خطأ. -
doNotTrackEnabled
types.ChromeSetting<boolean>
الإصدار 65 من Chrome أو الإصدارات الأحدثفي حال تفعيل هذا الإعداد، يرسل 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
. -
topicsEnabled
types.ChromeSetting<boolean>
الإصدار 111 من Chrome أو الإصدارات الأحدثوفي حال إيقافها، يتم إيقاف Topics API. تكون قيمة هذا التفضيل من النوع المنطقي، والقيمة التلقائية هي
true
. ولا يمكن للإضافات إيقاف واجهة برمجة التطبيقات هذه إلا من خلال ضبط القيمة علىfalse
. إذا حاولت ضبط واجهة برمجة التطبيقات هذه علىtrue
، سيؤدي ذلك إلى حدوث خطأ.