Javascript保存网页为图片借助于html2canvas库实现


Posted in Javascript onSeptember 05, 2014

第一步,把网页保存为Canvas画布,借助于html2canvas库,http://html2canvas.hertzen.com/

html2canvas(document.getElementById("id1"), { 
onrendered: function(canvas) { 
document.getElementById("id2").appendChild(canvas);//生成画布后如何处理,当然可以在新标签打开,在浮层展示等等 
}, 
canvas_id: 'canvas'//通过修改html2canvas源码添加canvas的id 
});

Note:html2canvas()第一个参数为要生成canvas的区域,如果整个网页生成canvas,则是document.body。第二个参数详见官网设置canvas的各种属性,当然修改源代码可以添加自己想要的属性,如给canvas添加id等。

第二步,把第一步中生成的canvas保存成图片

var canvas = document.getElementById("<span style="font-family: Arial, Helvetica, sans-serif;">canvas"</span><span style="font-family: Arial, Helvetica, sans-serif;">),</span> 
url = canvas.toDataURL();// 
//以下代码为下载此图片功能 
var triggerDownload = $("<a>").attr("href", url).attr("download", "img.png").appendTo("body"); 
triggerDownload[0].click(); 
triggerDownload.remove();

这里关注toDataURL()方法即可,可以把canvas转化成data形式的图片url,把这个url赋给<img/>标签即可显示图片,代码中其他部分为自己需要的下载功能。

Javascript 相关文章推荐
Flash对联广告的关闭按钮讨论
Jan 30 Javascript
JavaScript中获取未知对象属性的代码
Apr 27 Javascript
js获取本机操作系统类型的两种方法
Dec 19 Javascript
JSON与String互转的实现方法(Javascript)
Sep 27 Javascript
原生JavaScript制作计算器
Oct 16 Javascript
javascript十六进制数字和ASCII字符之间的转换方法
Dec 27 Javascript
Vue结合原生js实现自定义组件自动生成示例
Jan 21 Javascript
走进javascript——不起眼的基础,值和分号
Feb 24 Javascript
js仿网易表单及时验证功能
Mar 07 Javascript
js链表操作(实例讲解)
Aug 29 Javascript
node链接mongodb数据库的方法详解【阿里云服务器环境ubuntu】
Mar 07 Javascript
详解vue+axios给开发环境和生产环境配置不同的接口地址
Aug 16 Javascript
JavaScript立即执行函数的三种不同写法
Sep 05 #Javascript
JavaScript实现生成GUID(全局统一标识符)
Sep 05 #Javascript
JavaScript判断textarea值是否为空并给出相应提示
Sep 04 #Javascript
Firefox下无法正常显示年份的解决方法
Sep 04 #Javascript
window.location的重写及判断location是否被重写
Sep 04 #Javascript
js怎么覆盖原有方法实现重写
Sep 04 #Javascript
JS的location.href跳出框架打开新页面的方法
Sep 04 #Javascript
You might like
9个经典的PHP代码片段分享
2014/12/18 PHP
使用laravel的migrate创建数据表的方法
2019/09/30 PHP
Nigma vs Liquid BO3 第二场2.14
2021/03/10 DOTA
jquery与prototype框架的详细对比
2013/11/21 Javascript
nodejs教程之异步I/O
2014/11/21 NodeJs
jquery实现仿JqueryUi可拖动的DIV实例
2015/07/31 Javascript
工作中比较实用的JavaScript验证和数据处理的干货(经典)
2016/08/03 Javascript
jQuery实现的背景颜色渐变动画效果示例
2017/03/24 jQuery
Vue.js中兄弟组件之间互相传值实例
2017/06/01 Javascript
js字符限制(字符截取) 一个中文汉字算两个字符
2017/09/12 Javascript
浅谈 Vue 项目优化的方法
2017/12/16 Javascript
详解webpack import()动态加载模块踩坑
2018/07/17 Javascript
vue中子组件的methods中获取到props中的值方法
2018/08/27 Javascript
微信小程序中如何使用flyio封装网络请求
2019/07/03 Javascript
15分钟学会vue项目改造成SSR(小白教程)
2019/12/17 Javascript
Python自定义线程池实现方法分析
2018/02/07 Python
python中数据爬虫requests库使用方法详解
2018/02/11 Python
Python3 单行多行万能正则匹配方法
2019/01/07 Python
Python Django 页面上展示固定的页码数实现代码
2019/08/21 Python
python实现加密的方式总结
2020/01/19 Python
python3.7添加dlib模块的方法
2020/07/01 Python
Europcar意大利:汽车租赁
2019/07/07 全球购物
意大利体育用品和运动服网上商店:Maxi Sport
2019/09/14 全球购物
PHP如何删除一个Cookie值
2012/11/15 面试题
动漫专业高职生职业生涯规划书
2014/02/15 职场文书
销售人才自我评价范文
2014/09/27 职场文书
2014年收银工作总结
2014/11/13 职场文书
2014年团支部工作总结
2014/11/17 职场文书
大学四年个人总结
2015/03/03 职场文书
暂住证明怎么写
2015/06/19 职场文书
幼儿园大班教育随笔
2015/08/14 职场文书
《比的意义》教学反思
2016/02/18 职场文书
演讲稿之感恩老师(三篇范文)
2019/09/06 职场文书
导游词之苏州阳澄湖
2019/11/15 职场文书
Spring实现内置监听器
2021/07/09 Java/Android
python自动获取微信公众号最新文章的实现代码
2022/07/15 Python