javascript - 为什么“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();
该元素已经放置在脚本上方的网站中,有人发现我做错了什么,我该如何解决?
解决方案
推荐阅读
- scala - 如何使用 Cats IO monad 实现 if-else 逻辑?
- php - Codeigniter foreach 循环返回值问题
- sql - 如何获得即将到来的一月的日期?
- html - 在引导网格中调整大小时图像元素扭曲
- python-3.x - 如何使用 python 编程获取 git pull request 详细信息?
- jquery-validate - 如何使用 jquery validate 仅验证一个隐藏的输入字段?
- c# - 在自定义中间件中测试 response.WriteAsync()
- javascript - 如何在会话存储中使用函数作为值
- swift - 如何添加其他班级的问题?
- java - 使用 JUnit 方法时,jdbcTemplate 为空