Chrome扩展程序:如何管理背景页面的单独实例?

时间:2013-06-25 22:17:57

标签: javascript google-chrome google-chrome-extension

是否有人知道如何让每个separate Chrome Window运行different background page instance

目前,我的问题是我需要打开两个镀铬窗口并让每个背景页面都是它自己独立的实例。这“模仿”两个独立用户在自己的计算机上使用扩展程序的行为。这样做可以让我在two different people上将扩展名测试为one computer。现在,当我打开两个Chrome Windows时,它会使用一个后台页面实例(我认为应该这样)。

我想任何可接受的方法都会很棒,无论是某种形式的多个Chrome sign-ins还是安装different instances的Chrome。然而,最佳解决方案是基于代码,在实际的Chrome Extension API中,如果它允许的话。

谢谢!

3 个答案:

答案 0 :(得分:3)

拥有两个背景页面实例的唯一方法是启用拆分隐身行为,并打开隐身窗口( Ctrl + Shift + N < / KBD>)。

要启用拆分隐身模式,请将以下内容添加到清单文件中:

"split": "incognito"

如果您确实要模拟两个或更多用户,请使用--user-data-dir标志启动Chrome,使用不同的数据目录。例如:

chromium --user-data-dir=/tmp/whatever/

答案 1 :(得分:1)

一段时间后,我很轻松地解决了我的问题。它要求您拥有two Google accounts。因此,如果您没有两个帐户且不想要两个帐户,最好在此帖子中使用Rob W's answer ...

步骤:

  • 打开Chrome窗口。
  • 点击设置下拉菜单 - &gt;然后点击设置
  • Users标题下,点击add new user
  • 系统可能会提示您使用Google帐户登录,
  • 打开第二个窗口,重复处理并将第二个用户分配到当前窗口
  • 现在你应该有两个不同用户的窗口。两者都使用他们自己的设置和他们自己的扩展,以及他们自己的background pages

答案 2 :(得分:0)

也许你可以在每个打开的窗口的一个后台页面中实例化一些“后台页面对象”?将所有功能放在该类中,并创建一个包含所有实例的数组。

只是一些头脑风暴,希望它能让你到达某个地方。