我有几个网站帐户,目前我想写一个扩展程序,我可以在chrome中同时打开所有帐户,每个标签包含一个帐户。
这意味着我希望每个标签都有一个单独的cookie系统,是否可行?如果是这样,请建议我应该使用的API,谢谢!
答案 0 :(得分:3)
转到Chrome偏好设置。有一个用户部分,您可以在其中添加用户。每个新用户都有自己的cookie jar,因此您可以同时登录多个不同用户的站点。它创建了新的镀铬窗口,但似乎无法将标签拖到另一个用户的窗口上。
答案 1 :(得分:2)
根据Chrome documentation,您可以在onBeforeSendHeaders
事件处理程序中修改HTTP标头(包括Cookie)。因此,您需要通过onHeadersReceived
事件处理程序为每个帐户存储新的Cookie,然后将其替换为传出请求中的每个标签。
甚至存在一个扩展,似乎几乎可以做你想要的事情 - Chrome Cookie Switcher。
此外,我找到了一个可能对您的任务有帮助的答案:Associate a custom user agent to a specific Google Chrome page/tab。
答案 2 :(得分:-1)
我真的不认为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帐户。