首页 > 解决方案 > 如何在链接单击而不是打开时下载图像

问题描述

我正在运行一个烧瓶应用程序,并使用一个名为“Autoindex”的插件来列出目录中的所有文件, 就像这样 现在,当我单击图像名称时,它会打开图像。但我想在不离开按钮点击页面的情况下下载图像。

我无法修改此HTML代码。所以我在想,我可以使用 Javascript 来执行这个任务吗?

编辑

这是 HTML 代码:

<td class="name">
  <a href="/templete/images/2.jpg">2.jpg</a></td>
<td class="modified">
  <time datetime="2019-07-15 15:42:20.989829">2019-07-15 15:42:20.989829</time>
</td>
<td class="size">

现在,我无法直接修改 HTML 代码。链接没有类,我该如何更改

<a href="/templete/images/2.jpg">2.jpg</a>

为此,对于页面中的所有图像链接。

<a href="" download="/templete/images/2.jpg">2.jpg</a>

标签: javascripthtmlflask

解决方案


您可以使用 JS 将下载属性添加到 HTML 元素:

element.setAttribute('download','')

或者更简单:

element.download=''

因此,您可以轻松地为每个带有href结尾的链接添加它.jpg

const links=document.querySelectorAll('a[href$=".jpg"]')
links.forEach(link=>link.download='')

推荐阅读