2013-06-25 119 views
2

有誰知道一種方法讓每個separate Chrome Window運行一個different background page instanceChrome擴展:如何管理單獨的背景頁面實例?

目前,我的問題是,我需要打開兩個鉻窗口,並將每個背景頁作爲自己的單獨實例。這「模仿」兩個單獨用戶在自己的計算機上使用擴展的行爲。這樣做將允許我測試擴展名two different people還在one computer。現在,當我打開兩個Chrome Windows時,它使用一個背景頁面實例(我想它應該)。

我想任何可接受的方法將是偉大的,無論是某種形式的多個Chrome sign-ins或安裝different instances的鉻。但是,如果允許,最好的解決方案是基於代碼的,在實際的Chrome擴展API領域。

謝謝!

+0

您可以添加想要兩個不同背景實例的真實原因嗎?這看起來像一個[XY問題](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem),也許有比使用兩個不同的實例更好的方法(這是可能的和可能的很容易做到)。 –

+0

中段說明了我需要兩個不同實例的確切原因。對於所有的chrome窗口通常存在一次「後臺頁面」。如果兩個「人」(在本例中是我)連接到同一個背景頁面,我無法模仿兩臺不同計算機上的人。 – anson

回答

1

經過一段時間我相當容易地解決了我的問題。它需要你有two Google accounts。所以,如果你沒有這兩個帳戶,不希望兩個帳戶,它可能是最好這個帖子上使用Rob W's answer ...

步驟:

  • 打開一個瀏覽器窗口。
  • 點擊設置下拉 - >然後點擊設置
  • Users標題,單擊add new user
  • 可能會提示您在使用谷歌帳戶登錄,這樣做
  • 打開第二個窗口,重複處理和分配第二個用戶到當前窗口
  • 現在你應該有兩個窗口,在兩個不同的用戶下。兩者都使用他們自己的設置和他們自己的擴展,以及他們自己的background pages
0

也許你可以在每個打開的窗口的一個背景頁面中實例化一些「背景頁面對象」?把所有的功能都放在那個類中,並創建一個包含所有實例的數組。

只是一些頭腦風暴,希望它讓你到某個地方。

3

具有背景頁的兩個實例的唯一方式是使分割隱身行爲,並打開隱身窗口(Ctrl鍵 + + Ñ)。

要啓用分流隱身模式,以下內容添加到您的清單文件:

"split": "incognito" 

如果你真的想模擬兩個或多個用戶,使用不同的數據目錄,通過與--user-data-dir標誌開始的Chrome。例如:

chromium --user-data-dir=/tmp/whatever/ 
+0

謝謝,我實際上以一種更簡單的方式自己解決了這個問題,但它需要兩個谷歌賬戶,如果你無法擁有兩個谷歌賬戶,這種方法似乎是最好的。 – anson

+0

我的答案底部的方法與您的方法類似,不同之處在於您無需註冊任何Google帳戶。因爲它不需要任何註冊,所以您可以在幾秒鐘內啓動並運行。我通常也使用'--load-extension = path/to/exrensionfolder'來加載正在開發的擴展。 –

相關問題