介紹好用工具:BrowserSelector (依據網域名稱選用特定瀏覽器開啟) | The Will Will Web

The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

介紹好用工具:BrowserSelector (依據網域名稱選用特定瀏覽器開啟)

現在每個人都會擁有多個網路身份,不斷的登入、登出非常的浪費時間。像是微軟的網站,就有區分「微軟帳戶」與「組織帳戶」,平常用個人的,使用 Office 365 就要切換身份,每次在「個人」與「公司」帳戶之間切換,實在太煩了。今天我要介紹這套軟體,我已經使用了好幾年了,是一個讓我愛不釋手的小工具,他可以依據你想要開啟的網址不同,自動選擇不同的瀏覽器設定檔來開啟網頁!

簡介 Google Chrome 設定檔功能

在你裝好 Google Chrome 瀏覽器之後,第一次啟動時,預設就會有個設定檔(Profile)被建立,其名稱就叫做 Default,實體路徑在 %LOCALAPPDATA%\Google\Chrome\User Data\Default 目錄下。

事實上,你可以自行定義多個不同的設定檔(Profile),用來區分各種不同的網路身份。建立方式請參考下圖:

在 Google Chrome 建立設定檔

你可以這樣想像,每一個 Google Chrome 設定檔代表著一個完全獨立的「瀏覽器」,因為不同設定檔之間完全不會共用任何資料,像是 Cookies、Local Storage、Service Workers、IndexedDB、Cache、... 都是完全獨立分開的。因此,你在第一個設定檔所登入的身份,在第二個設定檔是看不到的,所儲存的資料也在完全不同的實體資料夾,可以有效的做到實體隔離!

當你在建立新的設定檔的時候,目錄名稱是無法調整的,而預設「第二個」設定檔名稱就叫做 Profile 1,「第三個」設定檔名稱就叫做 Profile 2,依此類推!

例如我的電腦有七個設定檔,其資料夾就會長這樣:

  • %LOCALAPPDATA%\Google\Chrome\User Data\Default
  • %LOCALAPPDATA%\Google\Chrome\User Data\Profile 1
  • %LOCALAPPDATA%\Google\Chrome\User Data\Profile 2
  • %LOCALAPPDATA%\Google\Chrome\User Data\Profile 3
  • %LOCALAPPDATA%\Google\Chrome\User Data\Profile 4
  • %LOCALAPPDATA%\Google\Chrome\User Data\Profile 5
  • %LOCALAPPDATA%\Google\Chrome\User Data\Profile 6

當你有了多個設定檔之後,我們可以利用「捷徑」或「批次檔」來啟動瀏覽器,並且指定我們希望載入的「設定檔」目錄。例如你要啟動「預設設定檔」的話,其命令如下:

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --profile-directory="Default"

像我 Office 365 專用的設定檔,就是放在 Profile 1 設定檔下,那麼我的啟動命令與參數就會是這樣:

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --profile-directory="Profile 1"

簡介 Browser Selector 工具

我在日常工作上,遇到最困擾的一件事,就是當同事寄信給我,信件中有 SharePoint, Microsoft Forms 或 OneDrive 檔案連結時,點擊進去第一件事就是叫我重新登入,因為我瀏覽器的「預設設定檔」是登入我的「微軟帳戶」。我必須切換到 Office 365 的「組織帳戶」才有權限開啟連結。

我們一般在 Windows 任何應用程式點擊任何超連結時,都會開啟一個「預設瀏覽器」,但是「預設瀏覽器」只能有一個,我們很難依據「網址」來決定要開哪一個瀏覽器,這套 Browser Selector 就是用來解決這個難題。

Browser Selector 完全由 .NET Framework 4.5 開發而成,雖然是開放原始碼,但是作者已經不再維護此工具,我之前幫他修正了一些錯誤,雖然已經被合併回去,但作者不會再發佈新版本。因此我決定自行 Fork 一份到我的 GitHub 帳號下,接手維護這份專案,大家如果要下載最新版的話,可以到以下網址下載:

  • https://github.com/doggy8088/BrowserSelector/releases

這套工具使用上很簡單,基本上只有 4 個步驟而已:

  1. 下載 Browser Selector 並複製到任意資料夾

    我個人是安裝到 C:\Program Files\BrowserSelector 資料夾,但這個目錄的存取權限比較高,需要用系統管理員身份才能建立與修改檔案。

    你要安裝到任意資料夾都可以,只要成功安裝與註冊之後不要隨便移動檔案路徑即可。

  2. 編輯 BrowserSelector.ini 設定檔

    這個 INI 設定檔有兩個區段:

    • [browsers] 用來定義瀏覽器的啟動路徑,Key 就是瀏覽器別名,而 Value 就是啟動路徑與參數,應該很好理解。
    • [urls] 則是用來定義哪些網站要用哪個瀏覽器開啟,我特別指定所有 Office 365 網址都用 chrome_o365 來開啟。

    你可以從以下範例看出,其實你要設定多少種瀏覽器都可以,無論是 IE, Firefox, Microsoft Edge 都可以。

    [browsers]
    chrome = "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --profile-directory="Default"
    chrome_o365 = "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --profile-directory="Profile 1"
    
    ff = C:\Program Files (x86)\Mozilla Firefox\firefox.exe
    edge = microsoft-edge:{url}
    ie = iexplore.exe
    
    [urls]
    admin.microsoft.com       = chrome_o365
    myanalytics.microsoft.com = chrome_o365
    whiteboard.microsoft.com  = chrome_o365
    compliance.microsoft.com  = chrome_o365
    flow.microsoft.com        = chrome_o365
    *.flow.microsoft.com      = chrome_o365
    forms.microsoft.com       = chrome_o365
    teams.microsoft.com       = chrome_o365
    *.teams.microsoft.com     = chrome_o365
    office.com                = chrome_o365
    *.office.com              = chrome_o365
    *.powerapps.com           = chrome_o365
    *.powerbi.com             = chrome_o365
    security.microsoft.com    = chrome_o365
    *.microsoftstream.com     = chrome_o365
    manage.kaiza.la           = chrome_o365
    miniasp-my.sharepoint.com = chrome_o365
    miniasp.sharepoint.com    = chrome_o365
    www.yammer.com            = chrome_o365
    *.dynamics.com            = chrome_o365
    
  3. 註冊新瀏覽器到系統中

    設定檔完成後,就透過以下命令將 DanTup.BrowserSelector 註冊到系統瀏覽器清單中:

    BrowserSelector.exe --register
    

    如果要取消註冊,可以執行 BrowserSelector.exe --unregister

  4. 修改系統設定置換預設瀏覽器DanTup.BrowserSelector

    使用 Windows 10 內建的功能搜尋「預設瀏覽器」(Choose a default browser),並將預設瀏覽器調整為 DanTup.BrowserSelector

    將預設瀏覽器調整為 DanTup.BrowserSelector

相關連結