2014-02-07 51 views
7

我需要捕获当前活动的网页作为截图。我已经尝试过html2canvas & GrabzIt,但问题是我需要目前页面的精确截图。我不想使用html2canvas的原因是因为它并不总是返回好的截图版本(不能正确渲染),而且我也不想使用GrabzIt,因为它不是免费的。如何使用JavaScript拍摄网页截图

你们有没有想法如何通过使用javascript/java/flash来实现? 任何选项只要它能正常工作...

P.S.我目前正在使用firefox提供的功能来捕获Firefox插件的截图:context.drawWindow,现在我想让它在线提供。

非常感谢!

+0

可能的重复http://stackoverflow.com/questions/4912092/using-html5-canvas-javascript-to-take-screenshots – markusthoemmes

+1

嗨,请经常检查谷歌。搜索时会有一百万个结果。 '如何使用Javascript截取网页截图如果您不能使用html2canvas,请解释原因 - 发生了什么,屏幕截图如何出错? –

+0

希望你仍然在寻找一个html2canvas替代品? – Blauharley

回答

1

最后,我最终用phantomjs的服务器端生成截图。发现它是我的场景中最可靠的,它需要相当不错的截图。

7

目前可能的选择:

rasterizeHTML.js:

这个工具看起来是能够捕获包含复杂的HTML结构和图像的网页时,以及在这个演示: http://cburgmer.github.io/rasterizeHTML.js/

活泼3D:

在该工具的网站上,您还可以找到一个演示,它仍然受支持和开发。

http://livelygoes3d.blogspot.co.at/2011/11/rendering-html-on-canvas.html

HTML2Canvas:

或者所有HTML2Canvas后,因为它看起来并不像它搁置,恰恰相反有它的一个新的发行版本。而且由于我使用它可能会更好地将图像渲染到画布上。

http://html2canvas.hertzen.com/examples.html

老答: 我在项目中的一个使用这种封装,它的工作相当不错。我必须对这个软件包进行唯一的抱怨,那就是图片在最终的截图中不能很好地呈现出来。但从那时起可能会有所改进。

+0

正如我之前所说的,我已经尝试过使用html2canvas。它仍处于早期发展阶段,并非100%准确。我需要非常可靠的东西。无论如何,谢谢你的答案。 :) – Brank