Does anyone know of a way to get each separate Chrome Window
to run a different background page instance
?
Currently, my problem is that I need to open two chrome windows and have each background page be its own separate instance. This "mimics" the act of two separate users using the extension on their own puter. Doing this will allow me to test the extension as two different people
yet on one puter
. Right now, when I open two Chrome Windows, it uses the one background page instance (as I suppose it should).
I guess any acceptable method would be great, whether that is some form of multiple Chrome sign-ins
or installing different instances
of chrome. The best solution however would be code based, in the realm of the actual Chrome Extension API, if it allows.
Thanks!
Does anyone know of a way to get each separate Chrome Window
to run a different background page instance
?
Currently, my problem is that I need to open two chrome windows and have each background page be its own separate instance. This "mimics" the act of two separate users using the extension on their own puter. Doing this will allow me to test the extension as two different people
yet on one puter
. Right now, when I open two Chrome Windows, it uses the one background page instance (as I suppose it should).
I guess any acceptable method would be great, whether that is some form of multiple Chrome sign-ins
or installing different instances
of chrome. The best solution however would be code based, in the realm of the actual Chrome Extension API, if it allows.
Thanks!
Share Improve this question asked Jun 25, 2013 at 22:17 ansonanson 4,1742 gold badges24 silver badges30 bronze badges 2- Could you add the true reason for wanting two different background instances? This looks like a XY problem to, perhaps there's a better method than using two different instances (which is possible and quite easy to do though). – Rob W Commented Jun 25, 2013 at 23:07
-
The middle paragraph explains the exact reason why I need two different instances. Usually
background pages
exist once for all chrome windows. I can't mimic people on two different puters if both "people" (in this case, me) are connected to the same background page. – anson Commented Jun 25, 2013 at 23:19
3 Answers
Reset to default 3The only way to have two instances of a background page is to enable split incognito behaviour, and open an incognito window (Ctrl + Shift + N).
To enable split incognito mode, add the following to your manifest file:
"split": "incognito"
If you really want to simulate two or more users, use different data directories, by starting Chrome with the --user-data-dir
flag. For example:
chromium --user-data-dir=/tmp/whatever/
After some time I solved my problem fairly easily. It requires you to have two Google accounts
. So if you do not have two accounts and do not want two accounts, it may be best to use Rob W's answer
on this post...
Steps:
- Open up a Chrome window.
- Click the settings drop down -> then click settings
- Under the
Users
heading, clickadd new user
- You may be prompted to sign in using a Google account, do so
- Open up a second window, repeat process and assign the second user to the current window
- Now you should have two windows, under two different users. Both use their own settings and their own extensions, along with their own
background pages
.
Maybe you could instantiate some "background page object" in the one background page for each open window? Put all your functionality in that class and create some array with all the instances in it.
Just some brainstorming, hope it gets you somewhere.