当我使用cordova run browser
或cordova run browser --target=chrome
时,此过程会启动一个新Chrome浏览器窗口,其Chrome版本与我的默认版本不同。
在我的系统上,我有常规安装(目前在v58),Chrome Canary安装(目前在v61),Cordova用v59打开一个新的Chrome。
(这个奇怪的报告可能是由于我常规Chrome上的待定安装,常规Chrome和Cordova打开的Chrome都是v59)
为什么Cordova无法在新标签页面中启动,或者为什么我甚至无法将新打开的窗口拖到已打开的常规Chrome标签中?
答案 0 :(得分:1)
我们与chrome.exe一起传递的--user-data-dir
参数会导致在新窗口中打开chrome实例的行为。包含此功能,以便可以单独保留用户特定数据以进行测试。
这就是为什么你甚至无法将新打开的窗口拖放到已经打开的chrome实例中的原因。基本上它是为了保持个别实例的完整性。
停止打开chrome实例的新实例的调整(虽然不推荐,除非它真的是一个要求)是编辑你在答案中提到的browser.js
文件夹下的/Projectroot/platforms/browser/cordova/node_modules/cordova_serve/src
文件并停止传递--user-data-dir
参数。希望能帮助到你。干杯
答案 1 :(得分:0)
根据@Gandhi的评论,我发现在第82行的var chromeArgs
中将/Projectroot/platforms/browser/cordova/node_modules/cordova_serve/src/browserjs
切换为空字符串可以实现在我的默认Chrome浏览器中打开预览所需的结果。
这似乎是一种有点hacky的方法,所以我很高兴有关如何从默认行为中可靠地切换它的任何更复杂的解决方案。