privacy.websites

privacy.websites 屬性包含與隱私相關的設定,用於控制瀏覽器與網站的互動方式。每個屬性都是一個 types.BrowserSetting 物件。

這些屬性的預設值在不同瀏覽器中可能有所不同。

屬性

cookieConfig

一個 types.BrowserSetting 物件,其底層值為一個物件。

該物件有兩個屬性:

  • behavior:一個字串,可以取以下值之一:

    • "allow_all":允許所有 cookie
    • "reject_all":拒絕所有 cookie
    • "reject_third_party":拒絕所有第三方 cookie
    • "allow_visited":僅當 cookie 的頂級域名已至少有一個 cookie 時,才允許第三方 cookie。
    • "reject_trackers":拒絕跟蹤 cookie
    • "reject_trackers_and_partition_foreign":拒絕跟蹤 cookie 並隔離第三方 cookie。
  • nonPersistentCookies 已棄用 :一個布林值。如果為 true,則所有 cookie 都將被視為會話 cookie。

firstPartyIsolate

一個 types.BrowserSetting 物件,其底層值為一個布林值。

如果設定為 truefirstPartyIsolate 首選項將使瀏覽器將任何第三方域的所有資料(包括 cookie、HSTS 資料、快取影像等)與位址列中的域相關聯。這可以防止第三方跟蹤器使用直接儲存的資訊來識別跨不同網站的使用者,但可能會破壞使用者使用第三方帳戶(如 Facebook 或 Google 帳戶)登入的網站。

預設為 false

hyperlinkAuditingEnabled

一個 types.BrowserSetting 物件,其底層值為一個布林值。如果為 true,當網站使用 ping 屬性請求時,瀏覽器會發送稽核 ping。

protectedContentEnabled

一個 types.BrowserSetting 物件,其底層值為一個布林值。僅在 Windows 上可用。如果為 true,瀏覽器將為外掛提供唯一的 ID 以執行受保護的內容。

referrersEnabled

一個 types.BrowserSetting 物件,其底層值為一個布林值。如果啟用,瀏覽器將在請求中傳送 referer 標頭。

resistFingerprinting

一個 types.BrowserSetting 物件,其底層值為一個布林值。

瀏覽器指紋識別是指網站使用 Web API 收集與瀏覽器或其執行裝置相關的狀態或配置資料的做法。透過這樣做,它們可以構建一個數字指紋,用於識別和跟蹤特定使用者。

如果設定為 trueresistFingerprinting 首選項將使瀏覽器報告常用的指紋識別資料的通用欺騙資訊。這些資料包括 CPU 核心數、JavaScript 定時器的精度以及本地時區。它還將停用用於指紋識別的功能,例如 GamePad 支援、WebSpeech 和 Navigator API。

預設為 false

thirdPartyCookiesAllowed

一個 types.BrowserSetting 物件,其底層值為一個布林值。如果為 false,瀏覽器將阻止 第三方 cookie

trackingProtectionMode

"跟蹤保護" 是一項瀏覽器功能,它會阻止向已知參與使用者跨站跟蹤的域發出的請求。跟蹤使用者的網站最常見的是第三方廣告和分析網站。此設定是一個 types.BrowserSetting 物件,用於確定瀏覽器是否應啟用跟蹤保護。其底層值為一個字串,可以取以下三種值之一:

  • "always":跟蹤保護已開啟。
  • "never":跟蹤保護已關閉。
  • "private_browsing":僅在隱私瀏覽視窗中開啟跟蹤保護。

示例

設定 hyperlinkAuditingEnabled 屬性。

js
function onSet(result) {
  if (result) {
    console.log("success");
  } else {
    console.log("failure");
  }
}

browser.browserAction.onClicked.addListener(() => {
  let getting = browser.privacy.websites.hyperlinkAuditingEnabled.get({});
  getting.then((got) => {
    console.log(got.value);
    if (
      got.levelOfControl === "controlled_by_this_extension" ||
      got.levelOfControl === "controllable_by_this_extension"
    ) {
      let setting = browser.privacy.websites.hyperlinkAuditingEnabled.set({
        value: true,
      });
      setting.then(onSet);
    } else {
      console.log("Not able to set hyperlinkAuditingEnabled");
    }
  });
});

瀏覽器相容性

注意: 此 API 基於 Chromium 的 chrome.privacy API。本文件來源於 Chromium 程式碼中的 privacy.json