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 相关文章推荐
js兼容标准的表格变色效果
Jun 28 Javascript
javascript 获取所有id中包含某关键字的控件的实现代码
Nov 25 Javascript
IE6背景图片不缓存问题解决方案及图片使用策略多个方法小结
May 14 Javascript
js动态修改input输入框的type属性(实现方法解析)
Nov 13 Javascript
Angularjs material 实现搜索框功能
Mar 08 Javascript
基于Bootstrap实现tab标签切换效果
Apr 15 Javascript
BootStrap 动态添加验证项和取消验证项的实现方法
Sep 28 Javascript
jQuery 全选 全不选 事件绑定的实现代码
Jan 23 Javascript
Angular2入门--架构总览
Mar 29 Javascript
BootstrapTable加载按钮功能实例代码详解
Sep 22 Javascript
JS运动特效之完美运动框架实例分析
Jan 24 Javascript
Vue中父子组件通讯之todolist组件功能开发
May 21 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
php 无限级数据JSON格式及JS解析
2010/07/17 PHP
基于PHP CURL用法的深入分析
2013/06/09 PHP
Session 失效的原因汇总及解决丢失办法
2015/09/30 PHP
php7安装mongoDB扩展的方法分析
2017/08/02 PHP
ThinkPHP框架实现的邮箱激活功能示例
2018/06/15 PHP
jquery 多行滚动代码(附详细解释)
2010/06/17 Javascript
js中判断对象是否为空的三种实现方法
2013/12/23 Javascript
jQuery简单实现禁用右键菜单
2015/03/10 Javascript
jquery-tips悬浮提示插件分享
2015/07/31 Javascript
基于JavaScript怎么实现让歌词滚动播放
2015/11/03 Javascript
jQuery学习笔记——jqGrid的使用记录(实现分页、搜索功能)
2016/11/09 Javascript
JS调用Android、Ios原生控件
2017/01/06 Javascript
Vue实现自带的过滤器实例
2017/03/09 Javascript
详解Node.js 命令行程序开发教程
2017/06/07 Javascript
vue单页开发父子组件传值思路详解
2018/05/18 Javascript
Vue弹出菜单功能的实现代码
2018/09/12 Javascript
Three.js实现3D机房效果
2018/12/30 Javascript
vue实现绑定事件的方法实例代码详解
2019/06/20 Javascript
微信小程序:报错(in promise) MiniProgramError
2020/10/30 Javascript
Python yield使用方法示例
2013/12/04 Python
举例简单讲解Python中的数据存储模块shelve的用法
2016/03/03 Python
对比Python中__getattr__和 __getattribute__获取属性的用法
2016/06/21 Python
Python 生成 -1~1 之间的随机数矩阵方法
2018/08/04 Python
python下载卫星云图合成gif的方法示例
2020/02/18 Python
解决Python在导入文件时的FileNotFoundError问题
2020/04/10 Python
如何打包Python Web项目实现免安装一键启动的方法
2020/05/21 Python
CSS3 Notes: -webkit-box-reflect实现倒影的实例
2016/12/08 HTML / CSS
Html5基于canvas实现电子签名并生成PDF文档
2020/12/07 HTML / CSS
美国新蛋IT数码商城:Newegg.com
2016/07/21 全球购物
学生个人求职自荐信格式
2013/09/23 职场文书
物业招聘计划书
2014/01/10 职场文书
财务会计专业求职信
2014/06/09 职场文书
高二化学教学反思
2016/02/22 职场文书
个人落户申请书怎么写?
2019/06/28 职场文书
nginx 多个location转发任意请求或访问静态资源文件的实现
2021/03/31 Servers
CSS 鼠标选中文字后改变背景色的实现代码
2023/05/21 HTML / CSS