الوصف
استخدِم واجهة برمجة التطبيقات chrome.privacy للتحكّم في استخدام الميزات في Chrome التي يمكن أن تؤثر في خصوصية المستخدم. تعتمد واجهة برمجة التطبيقات هذه على النموذج الأولي ChromeSetting من واجهة برمجة التطبيقات types للحصول على إعدادات 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.
}
);
أمثلة
لتجربة واجهة برمجة التطبيقات هذه، ثبِّت مثال واجهة برمجة التطبيقات privacy API من مستودع 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>
Chrome 70 والإصدارات الأحدثإذا كانت هذه الميزة مفعّلة، يقترح Chrome ملء العناوين وبيانات النماذج الأخرى تلقائيًا. قيمة هذا الإعداد هي قيمة منطقية، والقيمة التلقائية هي
true. -
autofillCreditCardEnabled
types.ChromeSetting<boolean>
Chrome 70 والإصدارات الأحدثإذا كانت هذه الميزة مفعّلة، يقترح 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>
Chrome 111 والإصدارات الأحدثإذا كانت هذه الميزة غير مفعّلة، يتم إيقاف Attribution Reporting API وPrivate Aggregation API. قيمة هذا الإعداد هي من النوع المنطقي، والقيمة التلقائية هي
true. لا يمكن للإضافات إيقاف واجهات برمجة التطبيقات هذه إلا من خلال ضبط القيمة علىfalse. إذا حاولت ضبط واجهات برمجة التطبيقات هذه علىtrue، سيظهر خطأ. -
doNotTrackEnabled
types.ChromeSetting<boolean>
Chrome 65 والإصدارات الأحدثإذا كانت هذه الميزة مفعّلة، يرسل Chrome عنوان "Do Not Track" (
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. لا يمكن للإضافات تفعيل واجهة برمجة التطبيقات هذه في "وضع التصفّح المتخفي"، حيث يتم حظر ملفات تعريف الارتباط الخارجية، ولا يمكن السماح بها إلا على مستوى الموقع الإلكتروني. إذا حاولت ضبط واجهة برمجة التطبيقات هذه على `true` في "وضع التصفّح المتخفي"، سيظهر خطأ.ملاحظة: قد تظل المواقع الإلكترونية الفردية قادرة على الوصول إلى ملفات تعريف الارتباط الخارجية عندما تعرض واجهة برمجة التطبيقات هذه القيمة
false، إذا كان لديها استثناء صالح أو إذا كانت تستخدم Storage Access API بدلاً من ذلك. -
topicsEnabled
types.ChromeSetting<boolean>
Chrome 111 والإصدارات الأحدثإذا كانت هذه الميزة غير مفعّلة، يتم إيقاف Topics API. قيمة هذا الإعداد هي من النوع المنطقي، والقيمة التلقائية هي
true. لا يمكن للإضافات إيقاف واجهة برمجة التطبيقات هذه إلا من خلال ضبط القيمة علىfalse. إذا حاولت ضبط واجهة برمجة التطبيقات هذه علىtrue، سيظهر خطأ.