Açıklama
Chrome'daki, kullanıcı gizliliğini etkileyebilecek özelliklerin kullanımını kontrol etmek için chrome.privacy
API'yi kullanın. Bu API, Chrome'un yapılandırmasını almak ve ayarlamak için API türündeki ChromeSetting prototipini kullanır.
İzinler
privacy
Manifest
API'yi kullanmak için uzantınızın manifest'inde "gizlilik" iznini beyan etmeniz gerekir. Örneğin:
{
"name": "My extension",
...
"permissions": [
"privacy"
],
...
}
Kullanım
Bir Chrome ayarının mevcut değerini kolayca okuyabilirsiniz. Önce ilgilendiğiniz mülkü bulmanız, ardından geçerli değerini ve uzantınızın kontrol düzeyini almak için söz konusu nesnede get()
öğesini ç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, biraz daha karmaşıktır. Bunun nedeni, öncelikle uzantının, ayarı kontrol edebildiğini doğrulamanız gerektiğidir. Uzantınız, kurumsal politikalara göre belirli bir değere kilitli olan bir ayarı (levelOfControl
"not_controllable" olarak ayarlanır) veya başka bir uzantı değeri kontrol ediyorsa (levelOfControl
, "controlled_by_other_extensions" olarak ayarlanır) ayarı 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ıyı seçtiği ayarlar uygulamada uygulama olmadığında uyarmanız önerilir.
Bu, erişim düzeyinizi belirlemek için get()
yöntemini kullanmanız ve ardından yalnızca uzantınız ayar üzerinde kontrol sahibi olabilirse set()
yöntemini kullanmanız gerektiği anlamına gelir (aslında, uzantınız bu ayarı kontrol edemiyorsa) kullanıcı karışıklığını azaltmak için işlevselliği görsel olarak devre dışı bırakmak iyi bir fikirdir:
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ğerinde değişiklik yapmakla ilgileniyorsanız onChange
etkinliğine işleyici ekleyin. Diğer kullanımların yanı sıra, bu özellik, daha yakın zamanda yüklenen bir uzantı bir ayarın kontrolünü ele geçirirse veya kurumsal politika, denetiminizi geçersiz kılıyorsa kullanıcıyı uyarabilirsiniz. Örneğin, otomatik doldurmanın durumundaki değişiklikleri dinlemek için aşağıdaki kod yeterlidir:
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 örneğini yükleyin.
Türler
IPHandlingPolicy
WebRTC'nin IP işleme politikası.
Enum
"default_public_and_private_interfaces"
"default_public_interface_only"
"disable_non_proxied_udp"
Özellikler
network
Genel olarak Chrome'un ağ bağlantılarını işlemesini etkileyen ayarlar.
Tür
nesne
Özellikler
-
networkPredictionEnabled
types.ChromeSetting<boolean>
Etkinleştirilirse Chrome, DNS girişlerini önceden çözüp ardından sunuculara giden TCP ve SSL bağlantılarını önceden açarak web'e göz atma 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 valilikleri veya önceden bağlanma işlemlerini etkilemez. Bu tercihin değeri varsayılan olarak
true
olan bir boole değeridir. -
webRTCIPHandlingPolicyChrome 48 ve sonraki sürümler
Kullanıcıların, WebRTC trafiğinin nasıl yönlendirileceğini ve ne kadar yerel adres bilgisinin açığa çıkacağını etkileyen medya performansı/gizlilik dengelerini belirtmelerine 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 sağlanan üçüncü taraf ağ hizmetlerini 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 ve sonraki sürümlerBu ayar etkinleştirilirse Chrome, adresleri ve diğer form verilerini otomatik olarak doldurmayı önerir. Bu tercihin değeri varsayılan olarak
true
olan bir boole değeridir. -
autofillCreditCardEnabled
types.ChromeSetting<boolean>
Chrome 70 ve sonraki sürümlerBu ayar etkinleş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 itibaren kullanımdan kaldırıldıLütfen privacy.services.autofillAddressEnabled ve privacy.services.autofillCreditCardEnabled özelliklerini kullanın. Bu öğe, bu sürümde geriye dönük uyumluluk için kullanılmaya devam etmektedir ve gelecekte kaldırılacaktır.
Bu seçenek etkinleştirilirse Chrome, formları otomatik olarak doldurmayı önerir. Bu tercihin değeri varsayılan olarak
true
olan bir boole değeridir. -
passwordSavingEnabled
types.ChromeSetting<boolean>
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>
Bu ayar 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, Güvenli Tarama bir sayfayı engellediğinde Chrome, engellenen sayfanın içeriği gibi ek bilgileri Google'a 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ğu'na yazdığınız metni varsayılan arama motorunuza gönderir. Böylece, o ana kadar yazdıklarınızın tamamlanmış hali olabilecek web siteleri ve aramalarla ilgili tahminler sağlanır. Bu tercihin değeri varsayılan olarak
true
olan bir boole değeridir. -
spellingServiceEnabled
types.ChromeSetting<boolean>
Etkinleştirilirse Chrome, yazım hatalarının düzeltilmesine yardımcı olmak için bir web hizmeti kullanır. Bu tercihin değeri varsayılan olarak
false
olan bir boole değeridir. -
translationServiceEnabled
types.ChromeSetting<boolean>
Etkinleştirilirse Chrome, okuduğunuz dilde olmayan sayfaları çevirmeyi önerir. Bu tercihin değeri varsayılan olarak
true
olan bir boole değeridir.
websites
Chrome'un web siteleri için hangi bilgileri sunacağını belirleyen ayarlar.
Tür
nesne
Özellikler
-
adMeasurementEnabled
types.ChromeSetting<boolean>
Chrome 111 ve sonraki sürümlerDevre 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
şeklindedir. Uzantılar bu API'leri yalnızca değerifalse
olarak ayarlayarak devre dışı bırakabilir. Bu API'leritrue
olarak ayarlamaya çalışırsanız hata alırsınız. -
doNotTrackEnabled
types.ChromeSetting<boolean>
Chrome 65 ve sonraki sürümlerEtkinleştirilirse Chrome, isteklerinizle birlikte "Do Not Track" (
DNT: 1
) üstbilgisi gönderir. Bu tercihin değeri boole türündedir ve varsayılan değerfalse
şeklindedir. -
fledgeEnabled
types.ChromeSetting<boolean>
Chrome 111 ve sonraki sürümlerDevre dışı bırakılırsa Fledge API devre dışı bırakılır. Bu tercihin değeri boole türündedir ve varsayılan değer
true
şeklindedir. Uzantılar bu API'yi yalnızca değerifalse
olarak ayarlayarak devre dışı bırakabilir. Bu API'yitrue
olarak ayarlamayı denerseniz hata verir. -
hyperlinkAuditingEnabled
types.ChromeSetting<boolean>
Etkinleştirilirse Chrome, bir web sitesi (
<a ping>
) tarafından istendiğinde denetleme ping'leri gönderir. 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: Bu ayar etkinleştirilirse Chrome, korunan içeriği çalıştırmak için eklentilere benzersiz bir kimlik sağlar. Bu tercihin değeri boole türündedir ve varsayılan değer
true
şeklindedir. -
referrersEnabled
types.ChromeSetting<boolean>
Etkinleştirilirse Chrome, isteklerinizle birlikte
referer
üstbilgileri gönderir. Evet, bu tercihin adı, yanlış yazılan üstbilgiyle eşleşmiyor. Hayır, bu adı değiştirmeyeceğiz. Bu tercihin değeri boole türündedir ve varsayılan değertrue
şeklindedir. -
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
şeklindedir. Uzantılar bu API'yi yalnızca değerifalse
olarak ayarlayarak devre dışı bırakabilir. Bu API'yitrue
olarak ayarlamayı denerseniz hata verir. -
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
şeklindedir. -
topicsEnabled
types.ChromeSetting<boolean>
Chrome 111 ve sonraki sürümlerDevre 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
şeklindedir. Uzantılar bu API'yi yalnızca değerifalse
olarak ayarlayarak devre dışı bırakabilir. Bu API'yitrue
olarak ayarlamayı denerseniz hata verir.