privacy.network
privacy.network
属性包含与隐私相关的网络设置。每个属性都是一个 types.BrowserSetting
对象。
这些属性的默认值在不同浏览器之间往往有所不同。
属性
networkPredictionEnabled
-
一个
types.BrowserSetting
对象,其底层值为布尔值。如果为true
,则浏览器尝试通过预解析 DNS 条目、预渲染站点(例如,使用<link rel='prefetch' …>
)以及抢先打开到服务器的 TCP 和 TLS 连接来加快 Web 浏览速度。 peerConnectionEnabled
-
一个
types.BrowserSetting
对象,其底层值为布尔值。如果为false
,则RTCPeerConnection
接口将被禁用。请注意,getUserMedia()
不受此设置的影响。 webRTCIPHandlingPolicy
-
一个
types.BrowserSetting
对象,其底层值为字符串。此设置允许用户指定会影响 WebRTC 流量路由方式以及公开多少本地地址信息的媒体性能/隐私权衡。它可以取以下任意一个值,从隐私性最低到隐私性最高default
default_public_and_private_interfaces
default_public_interface_only
disable_non_proxied_udp
proxy_only
(仅允许使用通过代理的 TCP 连接上的 TURN 进行连接)
httpsOnlyMode
-
此设置允许您的扩展确定用户是否已启用 仅 HTTPS 模式。此属性在所有平台上都是只读的。其底层值为一个字符串,可以取三个值中的一个
"always"
:仅 HTTPS 模式已开启。"never"
:仅 HTTPS 模式已关闭。"private_browsing"
:仅 HTTPS 模式仅在隐私浏览窗口中开启。
globalPrivacyControl
-
此设置允许您的扩展确定用户是否已启用 全局隐私控制。此属性在所有平台上都是只读的。其底层值为一个布尔值,其中
true
表示浏览器发送全局隐私控制信号,而false
表示浏览器不发送信号。
浏览器兼容性
BCD 表格仅在浏览器中加载
示例
设置 webRTCIPHandlingPolicy
属性
js
function onSet(result) {
if (result) {
console.log("success");
} else {
console.log("failure");
}
}
browser.browserAction.onClicked.addListener(() => {
let getting = browser.privacy.network.webRTCIPHandlingPolicy.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.network.webRTCIPHandlingPolicy.set({
value: "default_public_interface_only",
});
setting.then(onSet);
} else {
console.log("Not able to set webRTCIPHandlingPolicy");
}
});
});
注意:此 API 基于 Chromium 的 chrome.privacy
API。本文档源自 Chromium 代码中的 privacy.json
。