JS页面截图技术
2015-06-29 14:26
621 查看
一、背景:
使用JS页面截图技术实现将网页内容截图并分享到媒体(微博、空间、贴吧等)。
二、实现思路:
1. 将html页面转换成canvas
2. 将canvas转换成base64图片
3. 将base64图片上传到云端
4. 通过百度分享技术将图片分享到媒体
三、具体实现:
1. 将html页面转换成canvas
使用html2canvas实现html到canvas的转换:
在使用html2canvas插件的过程有以下几点需要注意:
1.当Dom页面元素太多时,调用html2canvas会失败
2. html2canvas是异步调用,想将该方法改成同步,必须修改源代码
2. 将canvas转换成base64图片
使用Canvas2Image实现canvas到base64 png图片的转换:
相当于: toDataURL("image/png");
3. 将base64位图片上传到云端
使用接口将base64图片上传到云端
4. 通过百度分享技术将图片分享到媒体(微博、空间、贴吧等)
其中bdPic定义了分享图片的地址,viewList则是百度分享列表的选项
使用JS页面截图技术实现将网页内容截图并分享到媒体(微博、空间、贴吧等)。
二、实现思路:
1. 将html页面转换成canvas
2. 将canvas转换成base64图片
3. 将base64图片上传到云端
4. 通过百度分享技术将图片分享到媒体
三、具体实现:
1. 将html页面转换成canvas
使用html2canvas实现html到canvas的转换:
html2canvas(document.getElementById(id), { onrendered:function(canvas) { //canvas为html转换成的canvas }, proxy: url, useCors: true, letterRendering: true });
在使用html2canvas插件的过程有以下几点需要注意:
1.当Dom页面元素太多时,调用html2canvas会失败
2. html2canvas是异步调用,想将该方法改成同步,必须修改源代码
2. 将canvas转换成base64图片
使用Canvas2Image实现canvas到base64 png图片的转换:
html2canvas(document.getElementById(id) { onrendered: function(canvas) { var oImg = Canvas2Image.saveAsPNG(oCanvas,true); } });
相当于: toDataURL("image/png");
3. 将base64位图片上传到云端
使用接口将base64图片上传到云端
4. 通过百度分享技术将图片分享到媒体(微博、空间、贴吧等)
function share(){ var bd_share_config = { common : { bdPic:url, }, image : [{ viewList :['tsina','tqq','qzone','renren','more'] }] }; window._bd_share_main.init(bd_share_config); }
其中bdPic定义了分享图片的地址,viewList则是百度分享列表的选项
相关文章推荐
- js 支持兼容性的trim操作
- js 倒计时
- 老生常谈:ie6下,a标签href设置javascript:void(0);后绑定的click失效
- EXTJS4新特性之全新的类系统及动态加载
- EXTJS4 新特性之Ext.data.Model
- AJAJX 使用JSON传递参数
- Tweenjs中的Ease示例
- Newtonsoft.Json高级用法
- 从setTimeout谈JavaScript运行机制
- JavaScript权威指南_113_第15章_脚本化文档_15.2-选取文档元素-通过ID选取元素
- JavaScript权威指南_112_第15章_脚本化文档_15.2-选取文档元素-概述
- jstree刷新
- JS 调试和缓存
- js中的eval方法
- 怎么直接让火狐输入json数据,而不是弹出文件保存对话框?
- JavaScript数据类型
- JavaScript typeOf()
- 第一个POST JSON数据的页面
- JSF(PrimeFaces)由后台向前台传递参数
- Newtonsoft.Json高级用法