2017-06-19 56 views
0

當我使用cordova run browsercordova run browser --target=chrome時,該過程會啓動一個新Chrome瀏覽器窗口,其Chrome版本與我的默認版本不同。科爾多瓦瀏覽器打開不同的Chrome?

在我的系統中,我有我的常規安裝(當前爲v58),安裝了Chrome Canary(當前爲v61),Cordova使用v59打開新的Chrome。 (這奇怪的報告可能是由於掛起安裝在我的常規的Chrome,無論是常規的Chrome和科爾多瓦的打開Chrome的是V59)

爲什麼科爾多瓦不能在新標籤頁開始,或者我爲什麼不能連拖新打開的窗口放入我已經打開的普通Chrome的標籤中?

+0

請注意,例如'--target = opera'應用程序將啓動到已打開Opera的新選項卡中。這是我想要Chrome的行爲或缺少'--target'選項的默認行爲。 – kontur

+0

它可能會啓動一個新的窗口,因爲它啓動了'--disable-web-security'標誌 – jcesarmobile

+0

有沒有辦法禁用該標誌? – kontur

回答

1

這是--user-data-dir param,我們與chrome.exe一起傳遞,導致在新窗口中打開一個chrome實例的行爲。該功能已合併,因此用戶特定的數據可以單獨保存以供測試。

這就是爲什麼你甚至不能拖拽新打開的窗口到已經打開的chrome實例中的原因。基本上它是爲了保持個體實例的完整性。

的TWEAK停止開設新的實例鉻實例(雖然不推薦,除非它真的一個要求)是你在你的答案已經提到,停止傳遞--user-data-dir參數編輯/Projectroot/platforms/browser/cordova/node_modules/cordova_serve/src文件夾下的文件browser.js。希望能幫助到你。歡呼聲

+0

我有相反的問題:我最近升級了Cordova,現在「cordova run browser」在我現有的Chrome實例的新選項卡中打開應用程序,而不是像以前那樣在全新的實例中打開應用程序。我更喜歡以前的行爲,但我看不出如何強制它 - 看着browser.js,--user-data-dir似乎被定義。有什麼建議麼?謝謝! –

+0

@williamwhyte它是否與Chrome設置有關?您是否通過在chrome.exe屬性中傳遞用戶數據目錄來手動嘗試它並嘗試手動打開它? – Gandhi

+0

在Mac上,我運行了 /Applications/Google \ Chrome.app/Contents/MacOS/Google \ Chrome --args --user-data-dir〜/ tmp。 我得到錯誤「[28294:37891:1016/131241.702920:錯誤:browser_gpu_channel_host_factory.cc(103)]無法啓動GPU進程。」但這似乎是無關的。 Chrome從現有窗口的新選項卡開始,隨着我登錄,而不是作爲單獨的進程並且沒有用戶登錄。 因此,它看起來像是Chrome中的更改,而不是Cordova中的更改。希望科爾多瓦團隊能夠解決這一變化並適當修改CLI。 –

0

基於@Gandhi的評論,我發現將var chromeArgs轉換爲/Projectroot/platforms/browser/cordova/node_modules/cordova_serve/src/browserjs中的一個空字符串,可以實現在預設用戶的默認瀏覽器中打開預覽效果。

這看起來有點不好意思,所以我很樂意提供任何更復雜的解決方案,以便如何可靠地將其從默認行爲中切換。

+1

據我所知,這是可能的調整,你可以做爲「運行瀏覽器」命令打算與特定的用戶數據目錄 – Gandhi

+1

已公佈的綜合答案。接受它是否有用。 – Gandhi

+0

請您接受答案,因爲它可能是最好的解決方案,據我所知,賞金似乎已經用完了。在此先感謝 – Gandhi

相關問題