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 相关文章推荐
JQUERY CHECKBOX全选,取消全选,反选方法三
Aug 30 Javascript
js中document.write的那点事
Dec 12 Javascript
jquery制作 随机弹跳的小球特效
Feb 01 Javascript
JavaScript实现仿淘宝商品购买数量的增减效果
Jan 22 Javascript
Js的Array数组对象详解
Feb 22 Javascript
Bootstrap表单布局样式源代码
Jul 04 Javascript
JS制作适用于手机和电脑的通知信息效果
Oct 28 Javascript
JSON字符串和JSON对象相互转化实例详解
Jan 05 Javascript
原生JS+Canvas实现五子棋游戏实例
Jun 19 Javascript
深入浅析Vue.js 中的 v-for 列表渲染指令
Nov 19 Javascript
apicloud拉起小程序并传递参数的方法示例
Nov 21 Javascript
泛谈JS逻辑判断选择器 || &amp;&amp;
May 24 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&amp;mysql 日期操作小记
2012/02/27 PHP
PHP时间戳 strtotime()使用方法和技巧
2013/10/29 PHP
使用php批量删除数据库下所有前缀为prefix_的表
2014/06/09 PHP
php根据年月获取当月天数及日期数组的方法
2016/11/30 PHP
关于javascript中的parseInt使用技巧
2009/09/03 Javascript
jquery中的过滤操作详细解析
2013/12/02 Javascript
分享20个提升网站界面体验的jQuery插件
2014/12/15 Javascript
js兼容火狐获取图片宽和高的方法
2015/05/21 Javascript
在JavaScript的AngularJS库中进行单元测试的方法
2015/06/23 Javascript
javascript实现点击提交按钮后显示loading的方法
2015/07/03 Javascript
移动端翻页插件dropload.js(支持Zepto和jQuery)
2016/07/27 Javascript
webpack配置sass模块的加载的方法
2017/07/30 Javascript
超出JavaScript安全整数限制的数字计算BigInt详解
2018/06/24 Javascript
解决微信小程序中转换时间格式IOS不兼容的问题
2019/02/15 Javascript
Node.js使用supervisor进行开发中调试的方法
2019/03/26 Javascript
javascript获取select值的方法完整实例
2019/06/20 Javascript
js实现自动播放匀速轮播图
2020/02/06 Javascript
Vue Object.defineProperty及ProxyVue实现双向数据绑定
2020/09/02 Javascript
python-opencv在有噪音的情况下提取图像的轮廓实例
2017/08/30 Python
python爬取拉勾网职位数据的方法
2018/01/24 Python
python用户管理系统
2018/03/13 Python
python 不同方式读取文件速度不同的实例
2018/11/09 Python
阿里云ECS服务器部署django的方法
2019/08/29 Python
使用python-opencv读取视频,计算视频总帧数及FPS的实现
2019/12/10 Python
python爬虫实例之获取动漫截图
2020/05/31 Python
高考考python编程是真的吗
2020/07/20 Python
Python性能测试工具Locust安装及使用
2020/12/01 Python
法国家具及室内配件店:home24
2017/01/21 全球购物
美国时尚配饰品牌:Dooney & Bourke
2017/11/14 全球购物
为什么要使用servlet
2016/01/17 面试题
银行办理业务介绍信
2014/01/18 职场文书
奥巴马当选演讲稿
2014/09/10 职场文书
悬崖上的金鱼姬观后感
2015/06/15 职场文书
副校长2015年教育教学工作总结
2015/07/27 职场文书
军训后的感想
2015/08/07 职场文书
MySQL多表查询机制
2022/03/17 MySQL