使用jQuery进行确认时,文件上传未触发

时间:2019-02-26 11:47:43

标签: javascript jquery

我有以下代码,如果我将触发功能保留在确认功能内,则它在Chrome中不起作用,但在Firefox和Edge中有效。

<head>
fileInput = $('<input type="file" id="upload-file" name="timing-upload" style="display:none;"/>');

if (confirm("Are you sure you want to replace all files?")) {
  $(fileInput).trigger('click');
}

但是如果我们删除Chrome中的确认条件,它就会起作用。

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
fileInput = $('<input type="file" id="upload-file" name="timing-upload" style="display:none;"/>');
$(fileInput).trigger('click');

已经有一个类似的问题Triggering a input file click does not bring the file upload dialog,但没有满意的答案。

我们非常感谢您的帮助。预先感谢。

1 个答案:

答案 0 :(得分:0)

我不确定,但是根据confirm documentation,我认为这是代码无法在chrome中运行的原因:

  

从Chrome 46.0开始,除非该沙箱属性的值设置为allow-modal,否则此方法将在<iframe>中被禁止。