Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何通过单击链接下载图像而不是打开图像_Javascript_Html_Flask - Fatal编程技术网

Javascript 如何通过单击链接下载图像而不是打开图像

Javascript 如何通过单击链接下载图像而不是打开图像,javascript,html,flask,Javascript,Html,Flask,我正在运行一个flask应用程序,并使用名为“Autoindex”的插件列出目录中的所有文件, 现在,当我单击图像名称时,它会打开图像。但是我想在不点击按钮的情况下下载图片 我无法修改此文件的HTML代码。所以我在想,我可以使用Javascript来执行这个任务吗 编辑 这是HTML代码: <td class="name"> <a href="/templete/images/2.jpg">2.jpg</a></td> <td class

我正在运行一个flask应用程序,并使用名为“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">

2019-07-15 15:42:20.989829
现在,我不能直接修改HTML代码。链接没有类,如何更改

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

对于页面中的所有图像链接

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

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

element.setAttribute('download','')
或者更简单:

element.download=''
因此,您可以使用
href
结尾
.jpg
轻松地为每个链接添加此项:

const links=document.querySelectorAll('a[href$=".jpg"]')
links.forEach(link=>link.download='')
这太容易了! 将图像放入标记内或使用标记,然后添加属性下载和使用该标记的图像URL。 以下是一个例子:


只需将
target=“\u blank”
添加到您的
标签中,它就会在新标签中打开。不完全是你需要的,但至少用户有选择下载或不下载。我不想给选择,我希望用户下载。我有一个想法,我可以使用javascript广告“下载”属性。就像“可能重复的
这不是一个重复的问题。
这是一个大胆的断言,字面意思是…:)您正在寻找的解决方案是添加
download
属性。这个解决方案是最好的答案。必须使用JS添加属性这一事实只是一个实现细节。如果您的实际问题是“如何使用JS向元素添加属性”,那么我会将其标记为dupe of抱歉,浪费您的时间。如果我在link属性中没有任何类,我如何选择元素?我的答案已经这样做了:
const links=document.queryselectoral('a[href$=.jpg]”)
选择以
href
属性结尾的所有
元素。jpg出现此错误
未捕获的DomeException:未能在“文档”上执行“querySelectorAll”:“a[href$=.jpg]”不是有效的选择器。
@JohnDoe您需要
文档。querySelectorAll(“[href$=”.jpg]”,[href$=”.png]”)
非常感谢上帝克里斯·G