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
privacy
API'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 geçerli değerini okumak kolaydır. Öncelikle ilgilendiğiniz özelliği bulmanız, ardından bu özelliğin geçerli 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ının değeri kontrol ettiği 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 pratik olarak uygulanmadığında 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 de 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. Bu durum, web sayfası tarafından başlatılan önceden getirme veya önceden bağlanma işlemlerini etkilemez. Bu tercihin değeri, varsayılan olarak
true
olan 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
default
değerine ayarlanır.
services
Google ve varsayılan arama sağlayıcınız tarafından sunulan üçü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ı olmak için bir web hizmeti kullanır. Bu tercihin değeri, varsayılan olarak
true
olan 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
true
olan 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
true
olan 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ılacaktır.
Etkinleştirilirse Chrome, formları otomatik olarak doldurmayı teklif eder. Bu tercihin değeri, varsayılan olarak
true
olan 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
true
olan 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
true
olan 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
false
olan 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
true
olan 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
false
olan bir Boole değeridir. -
translationServiceEnabled
types.ChromeSetting<boolean>
Bu ayar etkinleştirilirse Chrome, okuduğunuz dilde olmayan sayfaları çevirmeyi teklif eder. Bu tercihin değeri, varsayılan olarak
true
olan 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ışı bırakılır. Bu tercihin değeri boole türündedir ve varsayılan değer
true
'dır. Uzantılar, yalnızca değerifalse
olarak ayarlayarak bu API'leri devre dışı bırakabilir. Bu API'leritrue
olarak 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 boole 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 boole türündedir ve varsayılan değer
true
'dır. Uzantılar, yalnızca değerifalse
olarak ayarlayarak bu API'yi devre dışı bırakabilir. Bu API'yitrue
olarak ayarlamaya çalışırsanız hata alırsınız. -
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 boole türündedir ve varsayılan değer
true
'dır. -
referrersEnabled
types.ChromeSetting<boolean>
Etkinleştirilirse Chrome, isteklerinizle birlikte
referer
baş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 boole 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 İlgili Web Sitesi Grupları devre dışı bırakılır. Bu tercihin değeri boole türündedir ve varsayılan değer
true
'dır. Uzantılar, yalnızca değerifalse
olarak ayarlayarak bu API'yi devre dışı bırakabilir. Bu API'yitrue
olarak ayarlamaya çalışırsanız hata alırsınız. -
thirdPartyCookiesAllowed
types.ChromeSetting<boolean>
Devre dışı bırakılırsa Chrome, üçüncü taraf sitelerin çerez ayarlamasını engeller. Bu tercihin değeri boole 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
false
değerini döndürdüğünde, geçerli bir muafiyet sahibi olan veya bunun yerine Storage Access API'yi kullanan 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 boole türündedir ve varsayılan değer
true
'dır. Uzantılar, yalnızca değerifalse
olarak ayarlayarak bu API'yi devre dışı bırakabilir. Bu API'yitrue
olarak ayarlamaya çalışırsanız hata alırsınız.