Açıklama
Kullanıcının gizliliğini etkileyebilecek Chrome özelliklerinin kullanımını kontrol etmek için chrome.privacy API'sini kullanın. Bu API, Chrome'un yapılandırmasını almak ve ayarlamak için API türünün ChromeSetting prototipine dayanır.
İzinler
privacyManifest
API'yi kullanmak için uzantınızın manifest dosyasında"privacy" iznini beyan etmeniz gerekir. Örneğin:
{
"name": "My extension",
...
"permissions": [
"privacy"
],
...
}
Kullanım
Bir Chrome ayarının mevcut değerini okumak kolaydır. Öncelikle ilgilendiğiniz özelliği bulmanız, ardından mevcut değerini ve uzantınızın kontrol düzeyini almak için bu nesnede get() işlevini çağırmanız gerekir. Örneğin, Chrome'un otomatik doldurma özelliğinin etkin olup olmadığını belirlemek için şunu yazarsınız:
chrome.privacy.services.autofillEnabled.get({}, function(details) {
if (details.value) {
console.log('Autofill is on!');
} else {
console.log('Autofill is off!');
}
});
Bir ayarın değerini değiştirmek, öncelikle uzantınızın ayarı kontrol edebildiğini doğrulamanız gerektiğinden biraz daha karmaşıktır. Uzantınız, kurumsal politikalar tarafından belirli bir değere kilitlenmiş bir ayarı (levelOfControl "not_controllable" olarak ayarlanır) veya başka bir uzantı tarafından kontrol edilen bir ayarı (levelOfControl "controlled_by_other_extensions" olarak ayarlanır) değiştirirse kullanıcı ayarlarında herhangi bir değişiklik görmez. set() çağrısı başarılı olur ancak ayar hemen geçersiz kılınır. Bu durum kafa karıştırıcı olabileceğinden, kullanıcının seçtiği ayarların pratik olarak uygulanmadığı durumlarda kullanıcıyı uyarmak iyi bir fikirdir.
Bu nedenle, erişim düzeyinizi belirlemek için get() yöntemini kullanmanız ve yalnızca uzantınız ayar üzerinde kontrol sahibi olabiliyorsa set() yöntemini çağırmanız gerekir (aslında uzantınız ayarı kontrol edemiyorsa kullanıcıların kafasını karıştırmamak için işlevi görsel olarak devre dışı bırakmanız iyi bir fikir olabilir):
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);
}
});
}
});
Bir ayarın değerindeki değişikliklerle ilgileniyorsanız bu ayarın onChange etkinliğine bir dinleyici ekleyin. Bu, diğer kullanımların yanı sıra, daha yakın zamanda yüklenen bir uzantı ayarın kontrolünü ele geçirirse veya kurumsal politika kontrolünüzü geçersiz kılarsa kullanıcıyı uyarmanıza olanak tanır. Örneğin, Otomatik Doldurma'nın durumundaki değişiklikleri dinlemek için aşağıdaki kod yeterli olacaktır:
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.
}
);
Örnekler
Bu API'yi denemek için chrome-extension-samples deposundan privacy API example'ı yükleyin.
Türler
IPHandlingPolicy
WebRTC'nin IP işleme politikası.
Enum
"default"
"default_public_and_private_interfaces"
"default_public_interface_only"
"disable_non_proxied_udp"
Özellikler
network
Chrome'un ağ bağlantılarını genel olarak ele alma şeklini etkileyen ayarlar.
Tür
nesne
Özellikler
-
networkPredictionEnabled
types.ChromeSetting<boolean>
Etkinleştirilirse Chrome, DNS girişlerini önceden çözerek ve sunuculara TCP ve SSL bağlantılarını önceden açarak web'de gezinme deneyiminizi hızlandırmaya çalışır. Bu tercih yalnızca Chrome'un dahili tahmin hizmeti tarafından gerçekleştirilen işlemleri etkiler. Web sayfası tarafından başlatılan önceden getirme veya önceden bağlanma işlemlerini etkilemez. Bu tercihin değeri, varsayılan olarak
trueolan bir Boole değeridir. -
webRTCIPHandlingPolicyChrome 48 veya daha yeni sürümler
Kullanıcıların, medya performansı/gizlilik ödünlerini belirtmesine olanak tanır. Bu, WebRTC trafiğinin nasıl yönlendirileceğini ve ne kadar yerel adres bilgisinin açığa çıkacağını etkiler. Bu tercihin değeri IPHandlingPolicy türündedir ve varsayılan olarak
default'dır.
services
Google ve varsayılan arama sağlayıcınız tarafından sağlanan üçüncü taraf ağ hizmetleri gerektiren özellikleri etkinleştiren veya devre dışı bırakan ayarlar.
Tür
nesne
Özellikler
-
alternateErrorPagesEnabled
types.ChromeSetting<boolean>
Etkinleştirilirse Chrome, gezinme hatalarının çözülmesine yardımcı olması için bir web hizmeti kullanır. Bu tercihin değeri boole'dur ve varsayılan olarak
true'dır. -
autofillAddressEnabled
types.ChromeSetting<boolean>
Chrome 70 veya daha yeni bir sürümEtkinleştirilirse Chrome, adresleri ve diğer form verilerini otomatik olarak doldurmayı teklif eder. Bu tercihin değeri Boole'dur ve varsayılan olarak
truedeğerine ayarlanır. -
autofillCreditCardEnabled
types.ChromeSetting<boolean>
Chrome 70 veya daha yeni bir sürümEtkinleştirilirse Chrome, kredi kartı formlarını otomatik olarak doldurmayı teklif eder. Bu tercihin değeri Boole'dur ve varsayılan olarak
truedeğerine ayarlanır. -
autofillEnabled
types.ChromeSetting<boolean>
Chrome 70'ten beri kullanımdan kaldırıldıLütfen privacy.services.autofillAddressEnabled ve privacy.services.autofillCreditCardEnabled'ı kullanın. Bu özellik, bu sürümde geriye dönük uyumluluk için kalmaya devam edecek ve gelecekte kaldırılacak.
Etkinleştirilirse Chrome, formları otomatik olarak doldurmayı teklif eder. Bu tercihin değeri Boole'dur ve varsayılan olarak
truedeğerine ayarlanır. -
passwordSavingEnabled
types.ChromeSetting<boolean>
Etkinleştirilirse şifre yöneticisi, şifreleri kaydetmek isteyip istemediğinizi sorar. Bu tercihin değeri bir boole değeridir ve varsayılan olarak
true'dır. -
safeBrowsingEnabled
types.ChromeSetting<boolean>
Etkinleştirilirse Chrome, sizi kimlik avı ve kötü amaçlı yazılımlardan korumak için elinden geleni yapar. Bu tercihin değeri Boole'dur ve varsayılan olarak
truedeğerine ayarlanır. -
safeBrowsingExtendedReportingEnabled
types.ChromeSetting<boolean>
Etkinleştirilirse Chrome, Güvenli Tarama bir sayfayı engellediğinde Google'a ek bilgiler (ör. engellenen sayfanın içeriği) gönderir. Bu tercihin değeri Boole'dur ve varsayılan olarak
falsedeğerine ayarlanır. -
searchSuggestEnabled
types.ChromeSetting<boolean>
Etkinleştirilirse Chrome, çok amaçlı adres çubuğuna yazdığınız metni varsayılan arama motorunuza gönderir. Bu arama motoru, yazdıklarınızın olası tamamlanma şekilleri olan web siteleri ve aramalarla ilgili tahminler sunar. Bu tercihin değeri boole'dur ve varsayılan olarak
true'dır. -
spellingServiceEnabled
types.ChromeSetting<boolean>
Etkinleştirilirse Chrome, yazım hatalarını düzeltmeye yardımcı olması için bir web hizmeti kullanır. Bu tercihin değeri boole değeridir ve varsayılan olarak
false'dır. -
translationServiceEnabled
types.ChromeSetting<boolean>
Etkinleştirilirse Chrome, okuduğunuz dilde olmayan sayfaları çevirmeyi teklif eder. Bu tercihin değeri boole'dur ve varsayılan olarak
true'dır.
websites
Chrome'un web sitelerine hangi bilgileri sunduğunu belirleyen ayarlar.
Tür
nesne
Özellikler
-
adMeasurementEnabled
types.ChromeSetting<boolean>
Chrome 111 veya daha yeni bir sürümDevre dışı bırakılırsa Attribution Reporting API ve Private Aggregation API devre dışı kalır. Bu tercihin değeri boolean türündedir ve varsayılan değer
true'dır. Uzantılar, değerifalseolarak ayarlayarak bu API'leri devre dışı bırakabilir. Bu API'leritrueolarak ayarlamaya çalışırsanız hata oluşur. -
doNotTrackEnabled
types.ChromeSetting<boolean>
Chrome 65 veya daha yeni bir sürümEtkinleştirilirse Chrome, isteklerinizle birlikte "İzlemeyi Engelle" (
DNT: 1) başlığını gönderir. Bu tercihin değeri boolean türündedir ve varsayılan değerfalse'dır. -
fledgeEnabled
types.ChromeSetting<boolean>
Chrome 111 veya daha yeni bir sürümDevre dışı bırakılırsa Fledge API devre dışı kalır. Bu tercihin değeri boolean türündedir ve varsayılan değer
true'dır. Uzantılar, değerifalseolarak ayarlayarak bu API'yi devre dışı bırakabilir. Bu API'yitrueolarak ayarlamaya çalışırsanız hata verir. -
hyperlinkAuditingEnabled
types.ChromeSetting<boolean>
Etkinleştirilirse Chrome, bir web sitesi tarafından istendiğinde denetleme ping'leri gönderir (
<a ping>). Bu tercihin değeri boolean türündedir ve varsayılan değertrue'dir. -
protectedContentEnabled
types.ChromeSetting<boolean>
Yalnızca Windows ve ChromeOS'te kullanılabilir: Etkinleştirilirse Chrome, korumalı içeriğin çalıştırılması için eklentilere benzersiz bir kimlik sağlar. Bu tercihin değeri boolean türündedir ve varsayılan değer
true'dır. -
referrersEnabled
types.ChromeSetting<boolean>
Etkinleştirilirse Chrome, isteklerinizle birlikte
refererbaşlıklarını gönderir. Evet, bu tercihin adı, yazım hatası içeren başlıkla eşleşmiyor. Hayır, değiştirmeyeceğiz. Bu tercihin değeri boolean türündedir ve varsayılan değertrue'dır. -
types.ChromeSetting<boolean>
Chrome 121 ve sonraki sürümlerDevre dışı bırakılırsa İlişkili Websitesi Grupları devre dışı bırakılır. Bu tercihin değeri Boole türündedir ve varsayılan değer
true'dir. Uzantılar, değerifalseolarak ayarlayarak bu API'yi devre dışı bırakabilir. Bu API'yitrueolarak ayarlamaya çalışırsanız hata verir. -
thirdPartyCookiesAllowed
types.ChromeSetting<boolean>
Devre dışı bırakılırsa Chrome, üçüncü taraf sitelerin çerez ayarlamasını engeller. Bu tercihin değeri boolean türündedir ve varsayılan değer
true'dır. Uzantılar, üçüncü taraf çerezlerinin engellendiği ve yalnızca site düzeyinde izin verilebileceği Gizli modda bu API'yi etkinleştiremez. Bu API'yi gizli modda true olarak ayarlamaya çalışırsanız hata oluşur.Not: Bu API
falsedeğerini döndürdüğünde, geçerli bir muafiyetleri varsa veya bunun yerine Storage Access API'yi kullanıyorlarsa tek tek siteler üçüncü taraf çerezlerine erişmeye devam edebilir. -
topicsEnabled
types.ChromeSetting<boolean>
Chrome 111 veya daha yeni bir sürümDevre dışı bırakılırsa Topics API devre dışı kalır. Bu tercihin değeri boolean türündedir ve varsayılan değer
true'dır. Uzantılar, değerifalseolarak ayarlayarak bu API'yi devre dışı bırakabilir. Bu API'yitrueolarak ayarlamaya çalışırsanız hata verir.