【发布时间】:2012-10-06 04:48:56
【问题描述】:
我有几个网站帐户,目前我想编写一个扩展程序,可以在 chrome 中同时打开所有帐户,每个选项卡对应一个帐户。
这意味着我希望每个标签都有一个单独的 cookie 系统,这可行吗?如果是这样,请建议我应该使用的 API,谢谢!
【问题讨论】:
-
你找到解决办法了吗?
标签: google-chrome google-chrome-extension
我有几个网站帐户,目前我想编写一个扩展程序,可以在 chrome 中同时打开所有帐户,每个选项卡对应一个帐户。
这意味着我希望每个标签都有一个单独的 cookie 系统,这可行吗?如果是这样,请建议我应该使用的 API,谢谢!
【问题讨论】:
标签: google-chrome google-chrome-extension
我真的不认为 Chrome 允许扩展程序这样做。如果我没记错的话,扩展程序可以检查和阻止请求,但它们不能修改它们,例如动态更改每个选项卡的 cookie。
我建议你使用 Chrome 的--user-data-dir 命令行选项。它允许您保留多个单独的配置文件,每个配置文件都在自己的目录中,然后您只需要使用正确的选项启动 chrome:
# run this command to use the first profile
google-chrome --user-data-dir=/home/binchen/my_chrome_profiles/my_profile_1
# run this command to use the second profile
google-chrome --user-data-dir=/home/binchen/my_chrome_profiles/my_profile_2
...
每个配置文件都将位于自己的 Chrome 窗口中,并拥有自己的 cookie 存储,而不是自己的标签,但它比编写扩展程序更容易。
最后,如果您提到的网站是 Google,您可以同时打开多个 Google 帐户。
【讨论】:
根据Chrome documentation,您可以在onBeforeSendHeaders 事件处理程序中修改HTTP 标头(包括cookie)。因此,您需要通过 onHeadersReceived 事件处理程序为每个帐户存储新的 cookie,然后将它们替换为传出请求中的每个选项卡。
甚至还有一个扩展似乎在做你想做的事——Chrome Cookie Switcher。
我还找到了一个可能对您的任务有帮助的答案:Associate a custom user agent to a specific Google Chrome page/tab。
【讨论】:
转到 Chrome 偏好设置。有一个用户部分,您可以在其中添加用户。每个新用户都将拥有自己的 cookie 罐,因此您可以同时以多个不同的用户登录到一个站点。它会创建新的 chrome 窗口,但您似乎无法将选项卡拖到另一个用户的窗口上。
【讨论】: