html2canvas

html2canvas
首页|下载|问题|捐赠

JavaScript HTML渲染器
该脚本允许你直接在用户浏览器上截取网页或部分网页的“截图”。屏幕截图是基于DOM的,因此与真实的表示可能不是100%准确的,因为它并不是一个实际的屏幕截图,而是基于页面上可用的信息构建屏幕截图。

自定义构建
这是一个由Erik Koopmans定制的版本,具有最新的bug修复和特性。这里的所有更改都已作为Pull请求提交给niklasvh/html2canvas,正在等待批准。这些变化包括:
bug修正:屏幕外渲染,裁剪与CSS转换,连接。
特性:Box-shadows和自定义分辨率/缩放。

它是如何工作的?
该脚本通过读取DOM和应用于元素的不同样式,将当前页面呈现为画布图像。
它不需要来自服务器的任何呈现,因为整个图像是在客户机浏览器上创建的。但是,由于它严重依赖于浏览器,这个库不适合在nodejs中使用。
它也没有神奇地规避任何浏览器内容策略限制,因此呈现跨源内容将需要一个代理来将内容发送到相同的源。
该脚本仍处于非常试验的状态,因此我不建议在生产环境中使用它,也不建议开始用它构建应用程序,因为仍然会有重大的更改。
浏览器兼容性
这个库应该可以在以下浏览器上正常工作(使用承诺的polyfill):

Firefox 3.5 +
谷歌浏览器
歌剧12 +
IE9 +
Safari 6 +

由于每个CSS属性都需要手工构建才能得到支持,因此还有许多属性尚未得到支持。
使用
html2canvas库利用了承诺,并期望它们在全局上下文中可用。如果你想
支持原生不支持承诺的旧浏览器,请包括一个填充如
包括html2canvas之前的es6-promise。
注意!这些说明用于使用当前的开发版本0.5,对于最新的发布版本(0.4.1),请签出旧的自述文件。
要用html2canvas呈现一个元素,只需调用:
html2canvas(元素[选项]);
函数返回一个承诺,其中包含了元素。只需使用then向承诺添加一个promise fullfillment处理程序:
html2canvas(document.body).then(function(canvas) {
document.body.appendChild(canvas);
});

建筑
这个图书馆用泉水来建图书馆。或者,您可以从这里下载最新的版本。
克隆带有子模块的git仓库:
$ git clone --recursive git://github.com/niklasvh/html2canvas.git

安装Grunt和uglifyjs:
$ npm install -g grunt-cli uglify-js

运行完整的构建过程(包括lint, qunit和webdriver测试):
$ grunt

跳过皮棉和测试,并简单地建立从源代码:
$ grunt build

运行测试
该库有两组测试。第一组是一些qunit测试,用于检查浏览器解析的不同值是否在html2canvas中正确转换。要用grunt进行这些测试,你需要幻影。
另一组测试使用webdriver运行Firefox、Chrome和Internet Explorer。这些测试需要selenium独立服务器(运行在Java上),可以从这里下载。他们从测试页面中捕获实际的屏幕截图,并将图像与html2canvas创建的屏幕截图进行比较,并计算百分比差异。这些测试通常不期望提供100%的匹配,但是当进行更改时,这些通常不应该从基线值下降。
先下载依赖项:
$ npm install

qunit运行测试:
$ grunt test

例子
有关更多信息和示例,请访问主页或尝试测试控制台。
贡献
如果您希望为项目做出贡献,请发送拉请求到开发分支。在提交任何更改之前,尝试并测试更改是否能在所有支持的浏览器上工作。如果某些CSS属性不受支持或不完整,请在提交任何代码更改之前为其创建适当的测试。本文转载于:http://www.diyabc.com/frontweb/news33277.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值