首页 > 解决方案 > 为什么“A”元素点击模拟不起作用?

问题描述

我在我的网站上工作,你也可以在其中下载文件,我想使用 blob 制作下载进度条,但由于某些奇怪的原因,我对元素的点击模拟不起作用,这是我的代码:

var _OBJECT_URL;
var request = new XMLHttpRequest();
request.addEventListener('readystatechange', function(e) {
  if (request.readyState == 4) {
    _OBJECT_URL = URL.createObjectURL(request.response);
    $(".downloadexecutor").attr('href', _OBJECT_URL);
    $(".downloadexecutor").attr('download', '<?php echo $file["File"]; ?>');
    $(".downloadexecutor").click();
    setTimeout(function() {
      window.URL.revokeObjectURL(_OBJECT_URL);
    }, 60 * 1000);
  }
});
request.addEventListener('progress', function(e) {
  var percent_complete = (e.loaded / e.total) * 100;
  alert(percent_complete + '%');
});
request.responseType = 'blob';
request.open('get', 'downloader.php');
request.send();

该元素已经放置在脚本上方的网站中,有人发现我做错了什么,我该如何解决?

标签: javascriptxmlhttprequestblob

解决方案


推荐阅读