【问题标题】:Separate session for each window每个窗口的单独会话
【发布时间】:2012-11-09 04:07:15
【问题描述】:

我正在尝试创建一个扩展,其中每个 chrome 窗口都有自己的会话。我们之前使用了隐身模式,但问题是虽然主窗口和隐身窗口有单独的会话,但会话是在各个隐身窗口之间共享的。

是否有任何方法可以配置 chrome 以在每次打开隐身窗口时使用单独的会话?

【问题讨论】:

  • 嘿,你的想法听起来很酷!如果你完成了它,你能告诉我它叫什么吗?
  • IE 擅长某事的唯一时间。 IE 有。
  • 那将是一个合法的开发工具。当您需要比较不同的用户类型或角色等时。

标签: google-chrome google-chrome-extension incognito-mode


【解决方案1】:

您的目标是使用新的用户数据目录启动一个 Chrome 实例。 cookie 将在每个实例中被隔离。 在扩展中实现一种与 cmd 上的命令达到相同目标的方法:

chrome.exe --user-data-dir="C:\temp\user1"

【讨论】:

  • 我们使用了这种方法,但它对用户来说有点烦人。每打开一个窗口,它都会再次询问“设置为默认值”或“翻译语言”或“保存密码”等内容。为了防止这种情况,您可以复制另一个用户数据目录的内容,该目录已经回答了所有这些问题,就像默认的一样。
  • 我尝试从命令行打开两个 chrome,一个使用 --user-data-dir=temp1 并使用 temp2,但两个窗口共享一个会话。
  • 遗憾的是,对于我们使用此方法打开的每个窗口,它都会创建一个 80MB 的配置文件文件夹。
【解决方案2】:

我有一个类似的问题,我想使用 google chrome 浏览和调试工作,而 chrome 在会话方面非常原始。我编写了这个小批量脚本来复制默认配置文件,清除会话信息,然后使用新配置文件。在创建新的配置文件之前,也会清除旧的重复配置文件。结果是一个包含所有旧配置文件内容的新会话。

@echo off

rem folder prefix for the new profile folder
set folderNameStart=profile_

rem generate and format the date creating the new folder name
For /f "tokens=1-6 delims=/ " %%a in ('date /t') do (set mydate=%%c%%b%%a)
For /f "tokens=1-2 delims=/:" %%a in ('time /t') do (set mytime=%%a%%b)
set folderName=%folderNameStart%%mydate%%mytime%%random%

rem set the profile path and the folder destination as well as the directory to 
delete
set profilePath="C:\Documents and 
Settings\%USERNAME%\AppData\Local\Google\Chrome\User Data\Default"
set profileDestination="C:\Documents and 
Settings\%USERNAME%\AppData\Local\Google\Chrome\User Data\"%folderName%
set profileLocation="C:\Documents and 
Settings\%USERNAME%\AppData\Local\Google\Chrome\User Data\"

rem iterate through directory and delete all the existing profile folders
CD %profileLocation%
echo %profileLocation%
for /D /r %%G in ("%folderNameStart%*") do rmdir /q /s "%%G"

rem this will copy the old profile directory 
echo D | xcopy %profilePath% %profileDestination%

rem delete the session storage and its contents if its exist
rmdir /q /s "C:\Documents and Settings\%USERNAME%\AppData\Local\Google\Chrome\User 
Data\%folderName%\Session Storage"


rem start google chrome with the new profile folder
start "Chrome" "C:\Program Files\Google\Chrome\Application\chrome.exe" --profile-directory="%folderName%"

【讨论】:

    【解决方案3】:

    要使其正常工作,需要知道在 chrome 中打开“新窗口”之间的区别,如果没有区别,那么在这种情况下就没有办法做到这一点。另一种方法,如果知道使用隐身模式有什么区别,并用它来添加 chrome “Open tab in new window pofile 1”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-15
      相关资源
      最近更新 更多