我有几个网站帐户,目前我想编写一个扩展程序,我可以在 chrome 中同时打开所有帐户,每个选项卡用于一个帐户。
所以这意味着我希望每个标签都有一个单独的 cookie 系统,这可行吗?如果是这样,请建议我应该使用的 API,谢谢!
我有几个网站帐户,目前我想编写一个扩展程序,我可以在 chrome 中同时打开所有帐户,每个选项卡用于一个帐户。
所以这意味着我希望每个标签都有一个单独的 cookie 系统,这可行吗?如果是这样,请建议我应该使用的 API,谢谢!
转到 Chrome 偏好设置。有一个用户部分,您可以在其中添加用户。每个新用户都将拥有自己的 cookie 罐,因此您可以同时以多个不同的用户登录到一个站点。它会创建新的 chrome 窗口,但您似乎无法将选项卡拖到另一个用户的窗口上。
根据Chrome 文档onBeforeSendHeaders
,您可以在事件处理程序中修改 HTTP 标头(包括 cookie) 。因此,您需要通过onHeadersReceived
事件处理程序为每个帐户存储新的 cookie,然后将它们替换为传出请求中的每个选项卡。
甚至还有一个扩展,它似乎在做你想做的事情——Chrome Cookie Switcher。
我还找到了一个可能对您的任务有帮助的答案:将自定义用户代理关联到特定的 Google Chrome 页面/标签。
我真的不认为 Chrome 允许扩展程序这样做。如果我没记错的话,扩展程序可以检查和阻止请求,但它们不能修改它们,例如动态更改每个选项卡的 cookie。
我建议你使用--user-data-dir
Chrome 的命令行选项。它允许您保留几个单独的配置文件,每个配置文件都在自己的目录中,然后您只需要使用正确的选项启动 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 帐户。