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
privacyAPI'yi kullanmak için uzantınızın manifest dosyasında"privacy" iznini beyan etmeniz gerekir. Örneğin:
{
"name": "My extension",
...
"permissions": [
"privacy"
],
...
}
Kavramlar ve kullanım
Chrome ayarının mevcut değerini okumak kolaydır. Öncelikle ilgilendiğiniz özelliği bulmanız, ardından bu özelliğin 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 kredi kartı otomatik doldurma özelliğinin etkin olup olmadığını belirlemek için şunu yazarsınız:
chrome.privacy.services.autofillCreditCardEnabled.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 biraz daha karmaşıktır. Bunun nedeni, öncelikle uzantınızın ayarı kontrol edebildiğini doğrulamanız gerekmesidir. Uzantınız, kurumsal politikalar tarafından belirli bir değer için 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ştiriyorsa 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, erişim düzeyinizi belirlemek için get() yöntemini kullanmanız ve yalnızca uzantınız ayar üzerinde kontrol sahibi olabiliyorsa set() işlevini çağırmanız gerektiği anlamına gelir (aslında uzantınız ayarı kontrol edemiyorsa kullanıcıların kafasını karıştırmamak için özelliği görsel olarak devre dışı bırakmanız iyi bir fikir olabilir):
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);
}
});
}
});
Bir ayarın değerindeki değişikliklerle ilgileniyorsanız ayarın onChange etkinliğine bir dinleyici ekleyin. Bu özellik, diğer kullanımlarının yanı sıra, daha yakın zamanda yüklenen bir uzantı bir ayarın kontrolünü ele geçirirse veya kurumsal politika kontrolünüzü geçersiz kılarsa kullanıcıyı uyarmak için kullanılabilir. Örneğin, kredi kartı otomatik doldurma durumundaki değişiklikleri dinlemek için aşağıdaki kod yeterli olacaktır:
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.
}
);
Ö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 çözümleyerek 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 bir sürüm
Kullanıcıların, WebRTC trafiğinin nasıl yönlendirileceğini ve ne kadar yerel adres bilgisinin açığa çıkarılacağını etkileyen medya performansı/gizlilik ödünleşimlerini belirtmesine izin verin. Bu tercihin değeri IPHandlingPolicy türündedir ve varsayılan olarak
defaultdeğerine ayarlanı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, varsayılan olarak
trueolan bir Boole değeridir. -
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, varsayılan olarak
trueolan bir Boole değeridir. -
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, varsayılan olarak
trueolan bir Boole değeridir. -
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, varsayılan olarak
trueolan bir Boole değeridir. -
autofillOtherDatatypesEnabled
types.ChromeSetting<boolean>
BeklemedeEtkinleştirilirse Chrome, diğer veri türlerini otomatik olarak doldurmayı teklif eder. Seyahat ve kimlik belgeleri de bu kapsamdadır. Bu tercihin değeri, varsayılan olarak
trueolan bir Boole değeridir. -
passwordSavingEnabled
types.ChromeSetting<boolean>
Bu ayar etkinleştirilirse şifre yöneticisi, şifreleri kaydetmek isteyip istemediğinizi sorar. Bu tercihin değeri, varsayılan olarak
trueolan bir Boole değeridir. -
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, varsayılan olarak
trueolan bir Boole değeridir. -
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, varsayılan olarak
falseolan bir Boole değeridir. -
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 muhtemel tamamlanmış halleri olan web siteleri ve aramalarla ilgili tahminler sunar. Bu tercihin değeri, varsayılan olarak
trueolan bir Boole değeridir. -
spellingServiceEnabled
types.ChromeSetting<boolean>
Etkinleştirilirse Chrome, yazım hatalarını düzeltmek için bir web hizmeti kullanır. Bu tercihin değeri, varsayılan olarak
falseolan bir Boole değeridir. -
translationServiceEnabled
types.ChromeSetting<boolean>
Bu ayar etkinleştirilirse Chrome, okuduğunuz dilde olmayan sayfaları çevirmeyi önerir. Bu tercihin değeri, varsayılan olarak
trueolan bir Boole değeridir.
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, yalnızca 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 oluşur. -
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 boole 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ı, yanlış yazılmış 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 Web Sitesi Grupları devre dışı bırakılı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 oluşur. -
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
falsedöndürdüğünde, geçerli bir muafiyetleri varsa veya bunun yerine Depolama Erişim API'sini 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 oluşur.