jquery实现下载图片功能


Posted in jQuery onJuly 18, 2019

本文实例为大家分享了jquery实现下载图片的具体代码,供大家参考,具体内容如下

<!DOCTYPE html>
<html lang="en">
 
<head>
 <meta charset="UTF-8">
 <title>Document</title>
 <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js"></script>
 <style>
 </style>
</head>
 
<body>
 <div class="box">
 <div class="card">
 <img id="testimg1" src="./img/a.jpg"/>
 <a href="javascript:;" class="down_btn_a">点击下载</a>
 </div>
 </div>
 
 
 <script>
 //判断是否为Trident内核浏览器(IE等)函数
 function browserIsIe() {
 if (!!window.ActiveXObject || "ActiveXObject" in window){
  return true;
 }
 else{
  return false;
 }
 }
 //创建iframe并赋值的函数,传入参数为图片的src属性值.
 function createIframe(imgSrc) {
 //如果隐藏的iframe不存在则创建
 if ($("#IframeReportImg").length === 0){
  $('<iframe style="display:none;" id="IframeReportImg" name="IframeReportImg" onload="downloadImg();" width="0" height="0" src="about:blank"></iframe>').appendTo("body");
 }
 //iframe的src属性如不指向图片地址,则手动修改,加载图片
 if ($('#IframeReportImg').attr("src") != imgSrc) {
  $('#IframeReportImg').attr("src",imgSrc);
 } else {
  //如指向图片地址,直接调用下载方法
  downloadImg();
 }
 }
 //下载图片的函数
 function downloadImg() {
 //iframe的src属性不为空,调用execCommand(),保存图片
 if ($('#IframeReportImg').src != "about:blank") {
  window.frames["IframeReportImg"].document.execCommand("SaveAs");
 }
 }
 //接下来进行事件绑定
 var aBtn = $(".card .down_btn_a");
 if (browserIsIe()) {
 //是ie等,绑定事件
 aBtn.on("click", function() {
 var imgSrc = $(this).siblings("img").attr("src");
 //调用创建iframe的函数
  createIframe(imgSrc);
 });
 } else {
 aBtn.each(function(i,v){
 //支持download,添加属性.
 var imgSrc = $(v).siblings("img").attr("src");
 $(v).attr("download",imgSrc);
 $(v).attr("href",imgSrc);
 })
 }
 </script>
</body>
 
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

jQuery 相关文章推荐
jQuery中的deferred使用方法
Mar 27 jQuery
jQuery判断邮箱格式对错实例代码讲解
Apr 12 jQuery
简单实现jQuery弹幕效果
May 06 jQuery
JQuery Ajax 异步操作之动态添加节点功能
May 24 jQuery
jQuery滚动插件scrollable.js用法分析
May 25 jQuery
自定义类似于jQuery UI Selectable 的Vue指令v-selectable
Aug 23 jQuery
jQuery简单实现对数组去重及排序操作实例
Oct 31 jQuery
jQuery实现带右侧索引功能的通讯录示例【附源码下载】
Apr 17 jQuery
jQuery实现数字自动增加或者减少的动画效果示例
Dec 11 jQuery
jQuery实现滑动开关效果
Aug 02 jQuery
jQuery实现简单QQ聊天框
Aug 27 jQuery
jQuery实现日历效果
Sep 11 jQuery
jQuery实现图片下载代码
Jul 18 #jQuery
jquery图片预览插件实现方法详解
Jul 18 #jQuery
jquery实现垂直无限轮播的方法分析
Jul 16 #jQuery
JQuery实现简单的复选框树形结构图示例【附源码下载】
Jul 16 #jQuery
jquery实现自定义树形表格的方法【自定义树形结构table】
Jul 12 #jQuery
JavaScript表格隔行变色和Tab标签页特效示例【附jQuery版】
Jul 11 #jQuery
JavaScript实现的弹出遮罩层特效经典示例【基于jQuery】
Jul 10 #jQuery
You might like
PHP Pear 安装及使用
2009/03/19 PHP
thinkphp模板赋值与替换实例简述
2014/11/24 PHP
thinkphp3.2.2实现生成多张缩略图的方法
2014/12/19 PHP
PHP explode()函数的几个应用和implode()函数有什么区别
2015/11/05 PHP
PHP正则判断一个变量是否为正整数的方法
2019/02/27 PHP
laravel 实现上传图片到本地和前台访问示例
2019/10/21 PHP
JS实现打开本地文件或文件夹
2021/03/09 Javascript
可缩放Reloaded-一个针对可缩放元素的复用组件
2007/03/10 Javascript
在textarea中屏蔽js的某个function的javascript代码
2007/04/20 Javascript
浅谈window对象的scrollBy()方法
2015/07/15 Javascript
JS实现的论坛Ajax打分效果完整实例
2015/10/31 Javascript
js自制图片放大镜功能
2017/01/24 Javascript
如何快速上手Vuex
2017/02/14 Javascript
Node.js 基础教程之全局对象
2017/08/06 Javascript
使用puppeteer破解极验的滑动验证码
2018/02/24 Javascript
JavaScript中click和onclick本质区别与用法分析
2018/06/07 Javascript
clipboard.js在移动端复制失败的解决方法
2018/06/13 Javascript
实例详解ztree在vue项目中使用并且带有搜索功能
2018/08/24 Javascript
node中使用es6/7/8(支持性与性能)
2019/03/28 Javascript
前端路由&amp;webpack基础配置详解
2019/06/10 Javascript
js实现AI五子棋人机大战
2020/05/28 Javascript
解决vue的touchStart事件及click事件冲突问题
2020/07/21 Javascript
解决vue2中使用elementUi打包报错的问题
2020/09/22 Javascript
[32:47]完美世界DOTA2联赛 GXR vs IO 第二场 11.07
2020/11/09 DOTA
linux平台使用Python制作BT种子并获取BT种子信息的方法
2017/01/20 Python
python 获取url中的参数列表实例
2018/12/18 Python
django的auth认证,authenticate和装饰器功能详解
2019/07/25 Python
Python的几种主动结束程序方式
2019/11/22 Python
详解pandas apply 并行处理的几种方法
2021/02/24 Python
IWOOT美国:新奇的小玩意
2018/04/27 全球购物
DogBuddy荷兰:找到你最完美的狗保姆
2019/04/17 全球购物
什么是事务?为什么需要事务?
2012/01/09 面试题
资产评估专业大学生求职信
2013/09/29 职场文书
电大会计学自我鉴定
2014/02/06 职场文书
2015年预备党员自我评价
2015/03/04 职场文书
Java使用JMeter进行高并发测试
2021/11/23 Java/Android