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 相关文章推荐
JAVASCRIPT对象及属性
Feb 13 Javascript
IE无法设置短域名下Cookie
Sep 23 Javascript
javascript:json数据的页面绑定示例代码
Jan 26 Javascript
JavaScript实现给按钮加上双重动作的方法
Aug 14 Javascript
详解javascript中原始数据类型Null和Undefined
Dec 17 Javascript
JS实现仿饿了么在浏览器标签页失去焦点时网页Title改变
Jun 01 Javascript
Vue中计算属性computed的示例解读
Jul 26 Javascript
不得不看之JavaScript构造函数及new运算符
Aug 21 Javascript
对TypeScript库进行单元测试的方法
Jul 18 Javascript
小程序跳转H5页面的方法步骤
Mar 06 Javascript
vue3+typescript实现图片懒加载插件
Oct 26 Javascript
详细聊聊vue中组件的props属性
Nov 02 Vue.js
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 adodb介绍
2009/03/19 PHP
迁移PHP版本到PHP7
2015/02/06 PHP
PHP抓取网页、解析HTML常用的方法总结
2015/07/01 PHP
基于JQuery+PHP编写砸金蛋中奖程序
2015/09/08 PHP
Laravel获取当前请求的控制器和方法以及中间件的例子
2019/10/11 PHP
javascript 写类方式之九
2009/07/05 Javascript
json 入门基础教程 推荐
2009/10/31 Javascript
JavaScript中的集合及效率
2010/01/08 Javascript
超级24小时弹窗代码 24小时退出弹窗代码 100%弹窗代码(IE only)
2010/06/11 Javascript
jquery实现表格奇数偶数行不同样式(有图为证及实现代码)
2013/01/23 Javascript
JavaScript数组常用方法
2015/03/02 Javascript
js实现兼容IE和FF的上下层的移动
2015/05/04 Javascript
jQuery实现有动画淡出效果的二级折叠菜单代码
2015/10/17 Javascript
Jquery全屏相册插件zoomvisualizer具有调节放大与缩小功能
2015/11/02 Javascript
基于jQuery实现点击最后一行实现行自增效果的表格
2016/01/12 Javascript
Javascript从数组中随机取出不同元素的两种方法
2016/09/22 Javascript
BootStrapTable服务器分页实例解析
2016/12/20 Javascript
JS中cookie的使用及缺点讲解
2017/05/13 Javascript
详解JavaScript数组过滤相同元素的5种方法
2017/05/23 Javascript
浅谈js中的this问题
2017/08/31 Javascript
JS实现骰子3D旋转效果
2019/10/24 Javascript
vue+vant使用图片预览功能ImagePreview的问题解决
2020/04/10 Javascript
js实现简单选项卡制作
2020/08/05 Javascript
Javascript中window.name属性详解
2020/11/19 Javascript
[02:03]《现实生活中的DOTA2》—林书豪&DOTA2职业选手出演短片
2015/08/18 DOTA
python清除字符串里非数字字符的方法
2015/07/02 Python
深入解析Python中的urllib2模块
2015/11/13 Python
浅谈python中的__init__、__new__和__call__方法
2017/07/18 Python
python gdal安装与简单使用
2019/08/01 Python
keras.utils.to_categorical和one hot格式解析
2020/07/02 Python
西班牙第一的网上药房:PromoFarma.com
2017/04/17 全球购物
制药工程专业职业生涯规划范文
2014/03/10 职场文书
晚自修旷课检讨书怎么写
2014/11/17 职场文书
主婚人致辞精选
2015/07/28 职场文书
幼儿园托班开学寄语(2016春季)
2015/12/03 职场文书
Golang使用Panic与Recover进行错误捕获
2022/03/22 Golang