Home Ask Login Register

Developers Planet

Your answer is one click away!

Mia February 2016

Keep Popup Open when Opening a new Page

I have the following code to introduce my Chrome Extension.

// detect if this is the first time running
var first_run = false;
if (!localStorage['ran_before']) {
    first_run = true;
    localStorage['ran_before'] = '1';

// if not, start the intro() script
if (first_run) intro();

// intro script
function intro() {
    window.open("intro/index.html", '_blank');

But sadly, when I click the extension, it doesn't open the popup.html but just opens the intro page.. it needs to keep the popup.html open and I'm sure there is a way to do this. I want to open them both at the same time.

What is the best way to do this?


Marc Guiselin February 2016

the method you are using is valid and should work, but you should probably just use the onInstalled event for consistency:

    if(info.reason == "install"){
    }else if(info.reason == "update"){

It doesn't require new permissions, and will keep your install code clearly separated from the rest of your code.

Xan February 2016

While Marc Guiselin's answer is excellent, it may be useful to know how to open a tab without closing a popup.

You could open the tab in the background, that way it won't close your popup.

  url: chrome.runtime.getURL("intro/index.html"),
  active: false

In general, you should avoid using window.open in extensions and use chrome.tabs and chrome.windows API instead.

Post Status

Asked in February 2016
Viewed 3,406 times
Voted 14
Answered 2 times


Leave an answer

Quote of the day: live life