Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I enable my chrome extension in incognito mode?

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

like image 548
Laisson Avatar asked Jul 03 '13 01:07

Laisson


2 Answers

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
    });
});
like image 136
Rob W Avatar answered Nov 19 '22 00:11

Rob W


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.

like image 4
Vincent Scheib Avatar answered Nov 19 '22 00:11

Vincent Scheib