如果激活了隐身模式,我可以使用Chrome扩展程序进行检查吗?或者我可以使用扩展程序中的按钮启动隐身模式吗?
答案 0 :(得分:4)
首先,对扩展程序如何与隐身模式进行交互进行一些解释。请注意,默认情况下扩展程序无法在隐身模式下运行或影响/检测隐身标签。用户必须在Chrome的扩展程序设置中明确启用您的扩展程序。
您可以通过检查chrome.extension.isAllowedIncognitoAccess()
来检测是否允许您进行隐身访问(请注意其异步性质)。如果它返回false,你可以guide the user to enable it(感谢Rob W的链接)。
授予访问权限时,会发生什么?"incognito" setting in the manifest。
如果设置为“跨越”(默认),您将拥有一个可以访问普通和隐身上下文的背景页面。但是,这种方法有some limitations。
如果设置为“拆分”,则您将拥有2个实例。您可以使用chrome.extension.inIncognitoContext
检测您所在的人。
现在,问题。假设您已被允许隐身访问。
要检测给定标签/窗口中的隐身模式,您可以检查相应对象的incognito
属性,即chrome.windows.getCurrent
返回。
浏览器操作的代码示例单击:
chrome.browserAction.onClicked.addListener( function(tab) {
if(tab.incognito){
// Clicked in an Incognito window
} else {
// Clicked in a normal window
}
});
要打开新的隐身标签/窗口,您可以在描述您正在创建的标签/窗口的对象中传递incognito: true
。