Chrome扩展隐身模式:检查是否激活或开始与一个按钮

Chrome Extension Incognito Mode: Check if activated or start with a button?

本文关键字:开始 按钮 一个 激活 扩展 模式 是否 检查 Chrome      更新时间:2023-09-26

我可以检查一个chrome扩展,如果隐身模式被激活,或者我可以在我的扩展启动隐身模式的按钮?

首先,稍微解释一下扩展如何与隐身模式交互。请注意,扩展默认不能在隐身模式下运行,也不能影响/检测隐身选项卡。用户必须明确地在Chrome的扩展设置中为您的扩展启用。

您可以通过检查chrome.extension.isAllowedIncognitoAccess()来检测是否允许隐身访问(注意它的异步性质)。如果它使用false回调,您可以引导用户启用它(感谢Rob W提供的链接)。

当你被授予访问权限时,会发生什么是由" incognitto"

如果设置为& span "(默认),您将有一个单一的背景页面,可以访问正常和隐身上下文。不过,这种方法也有一些局限性。

如果设置为"split",将有2个实例。你可以用chrome.extension.inIncognitoContext来检测你在哪个。


现在,回答你的问题。假设您已被允许隐身访问。

对于在给定选项卡/窗口中检测隐身模式,您可以检查相应对象的incognito属性,即由chrome.windows.getCurrent返回。

浏览器操作click的代码示例:

chrome.browserAction.onClicked.addListener( function(tab) {
  if (tab.incognito) {
    // Clicked in an Incognito window
  } else {
    // Clicked in a normal window
  }
});

打开一个新的隐身选项卡/窗口,你可以在描述你正在创建的选项卡/窗口的对象中传递incognito: true

您不需要tabs权限来执行上述任何一个操作。