Chrome扩展:如何管理后台页面的单独实例

Chrome Extensions: How to Manage separate instances of background pages?

本文关键字:后台 实例 单独 管理 扩展 何管理 Chrome      更新时间:2023-09-26

有人知道让每个separate Chrome Window运行different background page instance的方法吗?

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

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

谢谢!

拥有两个后台页面实例的唯一方法是启用拆分隐身行为,并打开一个隐身窗口(Ctrl+Shift+N

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

"split": "incognito"

如果你真的想模拟两个或多个用户,可以使用不同的数据目录,方法是用--user-data-dir标志启动Chrome。例如:

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

过了一段时间,我很容易地解决了我的问题。它要求你有two Google accounts。所以,如果你没有两个账户,也不想要两个账户的话,最好在这篇文章中使用Rob W's answer。。。

步骤:

  • 打开Chrome窗口
  • 单击设置下拉菜单->然后单击设置
  • Users标题下,单击add new user
  • 系统可能会提示您使用谷歌帐户登录,请执行此操作
  • 打开第二个窗口,重复此过程并将第二个用户分配到当前窗口
  • 现在您应该有两个窗口,在两个不同的用户下。两者都使用自己的设置和扩展,以及自己的background pages

也许您可以在每个打开的窗口的一个背景页面中实例化一些"背景页面对象"?把你所有的功能都放在那个类中,并创建一个包含所有实例的数组

只是一些头脑风暴,希望它能让你有所收获。