这是Chrome出现问题还是我做错了?我注意到,如果我使用文件输入元素来显示文件浏览器/摄像头提示,然后在其后添加可能引起警报消息的内容,则会锁定整个页面,迫使我杀死该应用程序以使其正常运行再次。这是显示问题的简单jsfiddle:
https://jsfiddle.net/etc4bxpq/
HTML:
<input type="file">
<button id="btn">Click me</button>
JS:
document.querySelector('#btn').addEventListener('click', event => {
alert(1);
});
点击文件输入,然后点击“单击我”按钮。警报不会触发,页面将被锁定。这似乎只发生在iOS上的Chrome上。 Safari似乎运行良好。
答案 0 :(得分:1)
在相同条件下具有相同错误。我尝试按照某些人的建议用setTimeout函数包装警报和提示,但对我不起作用,尝试将输入放入另一页并在iframe中调用,这对我也不起作用。对我来说唯一有效的解决方案是使用警报模式,而不是本机javascript警报和提示功能。另外,如果您打开Chrome设置菜单并关闭它,脚本会继续执行它,这很奇怪。