如何为Chrome提issues?

背景

H5上传文件业务开发过程中,上传功能需要让用户上传 图片/pdf 文件,我们很容易想到,只需要改变inputaccept属性就好了,我们使用的accept属性如下。

<input accept="image/jpeg,image/jpg,image/png,application/pdf" type="file" />

但是在安卓真机Chrome上测试时,发生了一些问题。

可以看到,我们点击Choose File之后,出现了2个不应该出现的按钮,CamcorderRecorder
通过排查,我判断是Chrome自身的问题,那么如何为Chrome提issues呢?

在哪里为Chrome提Issues?

https://bugs.chromium.org/p/chromium/issues/list

可能这里有人会说,这不是chromium的bug区吗,并不是Chrome

这里简单科普一下:

  • Chromium是谷歌的一个开源项目,所有的开发者们都可以去共同改进它。

  • Chrome不是开源项目,谷歌会把Chromium的东西更新到Chrome中。所以Chromium更像是体验版,而Chrome是正式版。

提issues步骤

进入Issues页面

我们打开 https://bugs.chromium.org/p/chromium/issues/list 页面
0.png

填写机型环境信息

这里Chrome versions,网站会自动帮我们进行识别。由于是在PC上填写,我们需要填写自己的移动设备系统与版本。

选择issues类型

由于我们是开发者,直接选择Web developer

上述问题属于浏览器API的问题,我们选择 API

详细描述我们的问题

这里建议上传源代码,或者提供一个codesandbox。这里由于我的问题比较简单,我只上传了一个html页面。
为了让Chrome维护人员更好的复现bug,我上传了4张图片,也提供了在firefox的表现(在firefox上是正常的,没有bug)

Chrome提issues的讲解到这里就结束啦,

以下为我提的issues链接,欢迎一起围观:

https://bugs.chromium.org/p/chromium/issues/detail?id=120435


以下为问题详细描述

上文具体Case分析

关于h5上传popup出现录音、摄像按钮的bug。

以下是我们的最简复现页面:

点击第一行的<input id="1" accept="image/jpeg,image/jpg,image/png" type="file" />按钮

可以看到Chrome的表现是正常的

点击第二行的<input accept="image/jpeg,image/jpg,image/png,application/pdf" type="file" />按钮

可以看到弹出了4个按钮,但是多出了CamcorderRecoder,这就不正常了,我们并没有在accept中声明要求用户上传这2种格式的文件

那么在Firefox的表现呢?点击第二行的按钮,可以看到Everything is fine。。所以我们可以确定该bug为Chrome自身的问题。

如何自行兼容?

inputonChange回调中根据files进行自行判断,如果用户上传的类型不对,就舍弃掉该文件,给用户tips提示。


以下为我提的issues

欢迎大家一起围观:

https://bugs.chromium.org/p/chromium/issues/detail?id=1204359

Welcome to my other publishing channels