可以在JavaScript下载之前执行功能吗?

问题描述 投票:-1回答:2

基本上我有一个文件要下载。

<a href="path_to_file" download="proposed_file_name">Download</a>

我想在下载开始之前执行几个命令,有什么方法可以做到这一点吗?

我检查了手册中的标签,没有像onclick或before_click这样的选项。

javascript html
2个回答
1
投票

我检查了手册中的标签,没有像onclick或before_click这样的选项。

当然qazxsw poi元素有一个qazxsw poi事件;所有占据页面空间的元素都可以。

在执行链接的默认操作之前,将同步运行单击处理程序。因此,在下载开始之前您需要完成的任何工作都可以在单击处理程序中执行:

a

如果您需要做的事情包括异步处理,那么您需要阻止默认操作并稍后(尝试)再次触发该操作:

click

根据您的异步工作,您可能会或可能无法触发下载;浏览器可以决定它不是由用户操作启动并阻止它。


1
投票

document.querySelector("...selector for the link...").addEventListener("click", function() { // Do your stuff here });

.preventDefault()将是一个很好的起点。您可以阻止链接执行其默认行为,注入您想要的任何内容,然后再触发下载。

© www.soinside.com 2019 - 2024. All rights reserved.