问题描述
在高版本的ios手机中,使用原生的<input type="file" accept="image/*" />
时,可以正常打开相册,选中图片会正常返回但是与正常选中不同。无法触发input标签的change事件,同时通过js访问改标签也发现files属性为空数组。即是说选中了,但没完全选中。
不是所有的png图片都可以触发这个bug。与图片的实际大小无关,即有可能几十KB的png能触发,几M的png反而不触发。目前2500x10000像素的png能稳定触发这个bug。
低版本的ios不会出现这个问题。
简单的复现代码
html:
<input id="inputEl" type="file" accept="image/*" />
js:
window.onload = function () {
const inputEl = document.getElementById('inputEl');
inputEl.addEventListener('change', function (e) {
console.log(e);
})
}
图片: 通过windows的画图创建一个2500x10000像素的png。