【问题标题】:How can a Safari extension know if Private Browsing mode is on?Safari 扩展程序如何知道隐私浏览模式是否开启?
【发布时间】:2011-04-27 01:27:50
【问题描述】:
【问题讨论】:
标签:
security
safari
privacy
safari-extension
【解决方案1】:
您可以查询布尔值safari.application.privateBrowsing.enabled 以检查是否启用了隐私浏览。
您还可以附加事件侦听器以在激活或停用隐私浏览时触发自定义代码。
safari.application.privateBrowsing.addEventListener('activate', function(e) {
console.log("Private browsing activated");
});
safari.application.privateBrowsing.addEventListener('deactivate', function(e) {
console.log("Private browsing deactivated");
});
来源:Apple Docs
【解决方案2】:
所有私有模式都会忽略浏览器使用的 cookiejar 的当前状态。使用evercookie 之类的东西来跟踪特定浏览器以及它如何管理其各种会话ID。例如,如果您有一个 60 年后过期的 http cookie,并且此 cookie 值不存在于对您的服务器的请求中,那么您知道 cookie 值已被刷新或者它们处于私有模式。这将需要您进行更多的实验,但这个方向将是检测浏览器中使用私有模式的通用方法。