uni-app H5项目运行到Chrome浏览器时打开了一个新的没有标签栏和扩展插件栏的Chrome浏览器窗口

发布于 1周前 作者 yuanlaile 来自 Uni-App

uni-app H5项目运行到Chrome浏览器时打开了一个新的没有标签栏和扩展插件栏的Chrome浏览器窗口

操作步骤:

  • 在HBuilderX中 【运行】-【运行到浏览器】-【Chrome】

预期结果:

希望可以像之前一样可以直接在当前一打开的浏览器中运行项目而不是新开一个奇怪(没有书签栏和扩展插件栏)的浏览器

实际结果:

同上

bug描述:

H5项目在运行到Chrome浏览器时会打开一个新的奇怪的浏览器窗口(没有显示书签栏和扩展插件栏,有点像是调用window.open()后显示的弹出式窗口),该问题在上一个HBuilderX版本(3.6.14)就已经出现了。希望可以和以前一样直接在当前已打开的Chrome浏览器中打开运行的项目。

正常运行的Chrome浏览器窗口

正常运行的Chrome浏览器窗口

项目运行到Chrome浏览器时,自动打开的没有书签栏和扩展插件栏的新Chrome浏览器窗口

项目运行到Chrome浏览器时,自动打开的没有书签栏和扩展插件栏的新Chrome浏览器窗口


8 回复

uni-app项目,运行到chrome,会打开新的chrome实例,设计如此,后期优化。
原因:3.6.13版本,新增的uni-app h5 debug功能。如果不打开新的chrome实例,会导致debug功能出错。目前没有更好的方案。正在解决中。


你好 这个问题解决了吗

你好 请问这个问题解决了吗?

还是没解决

要啥debug 不需要

希望快解决,MAC打开新的浏览器时,会一直清空之前的浏览器记录

希望改回去,打开的新的无痕窗口,F12又要重新设置语言,无痕窗口还经常卡,奔溃。

在开发uni-app项目时,如果你希望在Chrome浏览器中调试和运行你的H5项目,通常是通过HBuilderX IDE来配置和启动的。如果你遇到uni-app H5项目在Chrome中打开了一个没有标签栏和扩展插件栏的新窗口,这可能是由于某些配置或启动方式导致的。以下是一些可能帮助你理解和控制这一行为的代码和配置示例。

1. 使用HBuilderX启动配置

首先,确保你在HBuilderX中正确配置了启动浏览器。通常,你可以通过以下步骤配置:

  • 打开HBuilderX,进入你的uni-app项目。
  • 点击顶部菜单栏的“运行”->“运行到浏览器”->“选择浏览器”。
  • 在弹出的对话框中选择“Chrome”,并确保“使用外部浏览器窗口”选项未被勾选(这个选项可能会导致在新窗口打开)。

2. 修改manifest.json

manifest.json文件中,你可以配置一些与H5应用相关的属性,但通常这些配置不会直接影响浏览器窗口的显示方式。不过,检查并确认h5节点下的配置是否正确仍然是个好主意:

"mp-weixin": { // 示例节点,实际应关注h5节点
    // ...其他配置
},
"h5": {
    "devServer": {
        "https": false,
        "proxy": {},
        "port": 8080
    },
    // 确保没有其他影响窗口行为的配置
}

3. 使用命令行启动

如果你更倾向于使用命令行工具,可以通过npm脚本或yarn来启动一个本地服务器,并在Chrome中手动打开该服务器地址。例如,你可以使用webpack-dev-servervite等工具:

# 使用npm启动开发服务器(假设你已经安装了必要的依赖)
npm run dev

然后,在Chrome中手动输入http://localhost:8080(端口号根据配置可能不同)来访问你的应用。

4. 检查Chrome启动参数

如果你确实需要在新的Chrome窗口中打开应用,并且希望控制窗口的属性(如是否显示标签栏),你可能需要编写一个Chrome扩展或使用Chrome的命令行参数。但这通常不是uni-app开发的标准做法,且较为复杂,不建议初学者尝试。

结论

通常,uni-app H5项目在Chrome中的行为是由IDE(如HBuilderX)和浏览器本身控制的。确保你的开发环境配置正确,通常可以避免不必要的窗口行为。如果问题依旧存在,考虑检查IDE的更新日志或寻求社区帮助,可能是IDE的一个bug或特定版本的行为。

回到顶部