从h1标签获取链接并使图片可下载
get link from h1 tag and make image downloadable
如何从h1标签获取链接并使图像可下载
<h1 data-source="image/image.jpg"><download Image</h1>
事实上,我正在使用放大弹出窗口,需要显示标题和下载链接。由于我已经有了锚a,所以我无法使用另一个使感觉的内部锚a。我使用标题标签h1、h2、h3来显示标题详细信息和下载链接,但我想让下载h1以用户点击下载图像的方式工作,而不是在浏览器中打开图像。
你必须像下面这样做,
HTML:
<h1 data-source="image/image.jpg">download Image</h1>
<a style="display:none;" class="downloader" href="" download></a>
JS:
$("h1").click(function(){
$(".downloader").attr("href", $(this).data("source"))[0].click();
});
概念:在具有display:none
和download
属性的html中添加一个伪anchor
标记,当用户单击h1
标记时,将其data-source
设置为该伪锚点的src
,并触发其自然单击。
演示
您可以在responseType
设置为"blob"
、URL.createObjectURL()
、download
属性、.click()
、.remove()
的情况下使用XMLHttpRequest()
$("h1").click(function() {
var request = new XMLHttpRequest();
request.responseType = "blob";
request.onload = function() {
$("<a>", {
id:"download",
href:URL.createObjectURL(this.response)
, download:""})
.appendTo("body")[0].click();
$("#download").remove();
};
request.open("GET", $(this).data().source);
request.send()
})
HTML:
<h1 data-source="image/image.jpg" id="download">download Image</h1>
CSS:
#download{
cursor:pointer;
}
JS:
$("#download").click(function(e) {
var link = $(this).data("source");
e.preventDefault();
window.location.href = link;
});
DEMO
https://jsfiddle.net/medashiva/gzxvzazg/试试这个希望对有帮助
$(document).ready(function(){
$("h1").click(function(e){
e.preventDefault(); //stop the browser from following
window.location.href = $(this).attr("data-source");
})
})
您可以使用这个简短的插件-Filesaver.js
相关文章:
- 如何在生成下载文件时显示加载动画
- 直接下载文件,而不是从window.open(url)
- 如何使用javascript或html下载PDF格式的填写表单
- Javascript运行php文件,然后下载文件
- 在单击href链接的同时下载文件
- 尽管链接成功并已成功下载,但未找到NPM模块
- 通过php页面中的js强制下载txt
- 使用angularjs向浏览器发送servlet响应(下载功能)
- 通过javascript下载文件时设置文件名
- 如何在Edge中下载图像/png数据URI
- 下载使用POST数据动态生成的文件
- 在提交时打开thankyou.html+下载PDF
- HTML锚标记无法在android平台中下载文件
- PERL-下载CSV文件不完整
- 将下载链接从web浏览器传递给第三方应用程序
- 使用ajax下载与存储名称不同名称的文件
- 请求准备一个文件并返回路径,允许用户在准备好时下载
- 链接/按钮从子文件夹下载文件--浏览器只是浏览
- 在同一选项卡中启动下载,而无需在Javascript中打开新选项卡或窗口
- 从h1标签获取链接并使图片可下载