dreaman
dreaman
  • 发布:2023-01-29 14:50
  • 更新:2023-01-29 14:50
  • 阅读:479

【报Bug】uni.chooseImage实现被浏览器阻止

分类:uni-app

产品分类: uniapp/H5

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win11

浏览器平台: Firefox

浏览器版本: 最新版手机firefox浏览器

项目创建方式: CLI

CLI版本号: 2.0.2-3061820230117001

操作步骤:

随便弄个组件,点击事件里面调用另外一个方法,另外的方法里面再调用uni.chooseImage

预期结果:

可以正常弹出选择图片对话框

实际结果:

无反应,控制台报错:<input> picker was blocked due to lack of user activation.

bug描述:

组件调用点击事件中调用uni.chooseImage没反应,经过跟踪发现,底层实现逻辑如下:
var n = t.count,
i = t.sourceType,
c = t.extension;
f && (document.body.removeChild(f), f = null),
f = (0, s.default) ({
count: n,
sourceType: i,
extension: c,
type: 'image'
}),
document.body.appendChild(f),
f.addEventListener('change', (function (t) {
for (var r = [
], i = t.target.files.length, o = function () {
var e,
i = t.target.files[s];
Object.defineProperty(i, 'path', {
get: function () {
return e = e || (0, a.fileToUrl) (i),
e
}
}),
s < n && r.push(i)
}, s = 0; s < i; s++) o();
var u = {
errMsg: 'chooseImage:ok',
get tempFilePaths() {
return r.map((function (t) {
var e = t.path;
return e
}))
},
tempFiles: r
};
l(e, u)
})),
f.click(),
在f.click这里,被浏览器策略阻止了

2023-01-29 14:50 负责人:无 分享
已邀请:

该问题目前已经被锁定, 无法添加新回复