工单节点使用指南
• 请用平和的语言准确描述你所遇到的问题
• 厂商的技术支持和你一样也是有喜怒哀乐的普通人类,尊重是相互的
• 如果是关于 V2EX 本身的问题反馈,请使用 反馈 节点
shenqi
0.01D

[微信浏览器] 安卓版内嵌浏览器 input[type=file] 概率性不能选择文件的问题

  •  
  •   shenqi · Mar 29, 2018 · 4917 views
    This topic created in 3014 days ago, the information mentioned may be changed or developed.

    我也不知道是不是我的代码了出毛病了。同事的小米最新款快到爆的安卓也出现这问题。

    网上查过,webview 的 input[type=file] 要动态获取文件权限问题,使用会有毛病,网上随便搜就一堆讨论。

    于是我在 body 第一个元素写

    label
      input(
        style="width: 10px;height: 10px;overflow: hidden;border: 0;z-index: 10000;position: absolute;top: 0;right: 0;padding: 0;margin: 0;opacity: 0;color: transparent;background: transparent;"
        name="test-input-file",
        id="test-input-file",
        type="file")
    

    然后其他逻辑保留。

    于是使用页面正常功能重现刚刚的那个 bug,当我的页面的上传图片的控件失效之后,最上面这个 input[type=file]也触发不了选择文件了。(网页内没有任何报错)

    于是我只能预测出现这种情况时候用户都会多次点击这个控件,于是我就记录了这种情况下下用户的系统和微信版本信息,统计在 sentry 上。

    如下图,基本上是判断到时安卓机器的微信浏览器。版本从 6.5.2 一直到 6.6.5。(识别机器信息用的库是 [email protected]

    https://ws2.sinaimg.cn/large/7108d0d3gy1fptxn1atmej21ap0qjtji.jpg

    希望能解决下,求解决。谢谢各位大佬,给大佬们递茶。

    或者求解决方案:我的功能就是选择一张图片,然后用 cropperjs 进行切割上传。

    (同样的代码,去年这个活动期间没留意过用户反映过这个问题,今年客服那边跟我讲的是:很多用户反映。看来是我的代码过期了。不过我确认了下 yarn.lock,应该没啥毛病)


    明天我试试用 weixin-js-sdk 的 chooseImage 的来处理下。。。。

    Supplement 1  ·  Mar 30, 2018
    猜测原因:input[type=file] 也必须进行页面的 wx.config,而且每个 url 都要进行一次 config。不过,这个只是猜测。
    1 replies    2018-03-30 09:01:36 +08:00
    Sypher
        1
    Sypher  
       Mar 30, 2018   ❤️ 1
    现在在用 jssdk。坏处是必须要将图片上传到微信服务器,然后三天之内后台从微信服务器上拿图片
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5597 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 64ms · UTC 06:35 · PVG 14:35 · LAX 23:35 · JFK 02:35
    ♥ Do have faith in what you're doing.