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

Javascript Chrome扩展:如何管理后台页面的独立实例?,javascript,google-chrome,google-chrome-extension,Javascript,Google Chrome,Google Chrome Extension,有人知道如何让每个单独的Chrome窗口运行不同的后台页面实例吗 目前,我的问题是,我需要打开两个chrome窗口,并让每个背景页面都是它自己的独立实例。这模仿了两个独立用户在自己的计算机上使用扩展的行为。这样做将允许我在一台计算机上测试两个不同的人的扩展。现在,当我打开两个Chrome窗口时,它使用了我认为应该使用的一个后台页面实例 我想任何可以接受的方法都是不错的,无论是多个Chrome登录的某种形式,还是安装不同的Chrome实例。然而,如果允许的话,最好的解决方案是基于代码的,在实际的C

有人知道如何让每个单独的Chrome窗口运行不同的后台页面实例吗

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

我想任何可以接受的方法都是不错的,无论是多个Chrome登录的某种形式,还是安装不同的Chrome实例。然而,如果允许的话,最好的解决方案是基于代码的,在实际的Chrome扩展API领域


谢谢

也许您可以为每个打开的窗口在一个后台页面中实例化一些后台页面对象?将所有功能放在该类中,并使用其中的所有实例创建一些数组


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

也许你可以为每个打开的窗口在一个背景页面中实例化一些背景页面对象?将所有功能放在该类中,并使用其中的所有实例创建一些数组


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

拥有两个背景页面实例的唯一方法是启用拆分匿名行为,并打开一个匿名窗口Ctrl+Shift+N

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

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

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

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

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

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

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

过了一段时间,我很容易地解决了我的问题。它要求你有两个谷歌账户。因此,如果你没有两个帐户,也不想要两个帐户,那么最好在这篇文章中使用Rob W的答案

步骤:

打开一扇镀铬的窗户。 单击设置下拉菜单->然后单击设置 在用户标题下,单击添加新用户 您可能会被提示使用谷歌帐户登录,请这样做 打开第二个窗口,重复该过程并将第二个用户分配到当前窗口 现在你应该有两个窗口,在两个不同的用户下。两者都使用自己的设置和扩展,以及自己的背景页面。
过了一段时间,我很容易地解决了我的问题。它要求你有两个谷歌账户。因此,如果你没有两个帐户,也不想要两个帐户,那么最好在这篇文章中使用Rob W的答案

步骤:

打开一扇镀铬的窗户。 单击设置下拉菜单->然后单击设置 在用户标题下,单击添加新用户 您可能会被提示使用谷歌帐户登录,请这样做 打开第二个窗口,重复该过程并将第二个用户分配到当前窗口 现在你应该有两个窗口,在两个不同的用户下。两者都使用自己的设置和扩展,以及自己的背景页面。
您是否可以添加需要两个不同背景实例的真正原因?这看起来像一个to,也许有一个比使用两个不同的实例更好的方法,这是可能的,而且很容易做到。中间一段解释了我需要两个不同实例的确切原因。对于所有chrome窗口,背景页通常只存在一次。如果两个人都连接到同一个后台页面,我无法在两台不同的计算机上模拟人。你能补充一下需要两个不同后台实例的真正原因吗?这看起来像一个to,也许有一个比使用两个不同的实例更好的方法,这是可能的,而且很容易做到。中间一段解释了我需要两个不同实例的确切原因。对于所有chrome窗口,背景页通常只存在一次。如果两个人都连接到同一个背景页面,我就无法在两台不同的计算机上模拟人。谢谢,我自己用一种更简单的方法解决了这个问题,但它需要两个google帐户,如果你不能拥有两个谷歌账户,这种方法似乎是最好的。我答案底部的方法与你的方法类似,只是你不必注册任何谷歌账户。因为它不需要任何注册,所以您可以在几秒钟内启动并运行。我通常也使用-load extension=path/to/exrensionfolder来加载正在开发的扩展
但它需要两个谷歌账户,如果你不能拥有两个谷歌账户,这种方法似乎是最好的。我答案底部的方法与你的方法类似,只是你不必注册任何谷歌账户。因为它不需要任何注册,所以您可以在几秒钟内启动并运行。我通常还使用-load extension=path/to/exrensionfolder来加载正在开发的扩展。