网页截图是怎么实现的?

Using HTML5/Canvas/Javascript to take screenshots?
还是通过浏览器api呢?
THX....

阅读 14.3k
4 个回答
  1. 页面脚本,是不能达到截取系统截图的权限的;
  2. 除非是浏览器本身提供api,因为浏览器本身就是在本地系统上的一个客户端(本地的客户端,一般都拥有截取屏幕的权限);
  3. 但浏览器的截图api,权限也是有限的,就是只能截取当前浏览器窗口的图片,而不能截取浏览器以外的图片,例子:花瓣网的chrome浏览器插件;
  4. 留意过 web qq ,网页版微信的截屏功能,就是在本地安装了一个客户端(一般我们叫浏览器“插件”)才可以进行截屏操作的。

最近刚好在做chrome插件开发,chrome有一个api是captureVisibleTab,可以截取tab为任何webkit支持的格式的图片。其他的我就不太清楚了,呵呵。

chrome.tabs.captureVisibleTab(integer windowId, object options, function callback)

https://developer.chrome.com/extensio...

你可以试试 html2canvas

它把当前页面渲染为一张 canvas 图片,具体做法是读取 DOM 元素及其样式然后把它们渲染到 canvas 中。不需要服务器渲染,整个过程在浏览器端完成。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏