I created an extension for Google Chrome and would like to know if it is possible for my extension to be enabled in incognito mode.

Ex: chrome.extension ...... allowedIncognitoAccess = true

有帮助吗?

解决方案

It's not possible to automatically activate incognito mode for Chrome extensions.

Instead of letting the user figure out where the option can be found, just instruct the user to put a check on the checkbox at the extension.

  • To detect whether incognito is enabled, use the chrome.extension.isAllowedIncognitoAccess method.
  • After showing the instructons to the user, use chrome.tabs.create or chrome.tabs.update to open chrome://extensions/?id=YOUR EXTENSION ID HERE. The extension ID can be read programatically through the chrome.runtime.id property. Chrome recognizes the id query parameter and highlights the specified extension in the list of extensions, as seen in the next picture (notice the gray background):

In terms of code:

chrome.extension.isAllowedIncognitoAccess(function(isAllowedAccess) {
    if (isAllowedAccess) return; // Great, we've got access

    // alert for a quick demonstration, please create your own user-friendly UI
    alert('Please allow incognito mode in the following screen.');

    chrome.tabs.create({
        url: 'chrome://extensions/?id=' + chrome.runtime.id
    });
});

其他提示

Users may manually enable specific extensions in incognito mode by visiting the extensions settings page.

  • Chrome menu
  • Settings
  • Extensions (on left side navigation bar)
  • Check "Allow in incognito" next to the individual extension to be enabled.

See Manage your extensions in Chrome help.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top