全部产品
云市场
云游戏

截屏

更新时间:2020-04-17 10:16:09

此接口用于截屏。

snapshot 的使用方法

  1. AlipayJSBridge.call('snapshot', function(result) {
  2. console.log(result.success);
  3. });

代码示例

  1. <h1>点击下面按钮查看不同截图效果</h1>
  2. <a href="javascript:void(0)" class="btn screen">截取屏幕并保存到相册</a>
  3. <a href="javascript:void(0)" class="btn viewport">viewport 截图返回 fileURL</a>
  4. <script>
  5. function ready(callback) {
  6. // 如果 jsbridge 已经注入则直接调用
  7. if (window.AlipayJSBridge) {
  8. callback && callback();
  9. } else {
  10. // 如果没有注入则监听注入的事件
  11. document.addEventListener('AlipayJSBridgeReady', callback, false);
  12. }
  13. }
  14. ready(function() {
  15. document.querySelector('.screen').addEventListener('click', function() {
  16. AlipayJSBridge.call('snapshot', function(result) {
  17. alert(JSON.stringify(result));
  18. });
  19. });
  20. document.querySelector('.viewport').addEventListener('click', function() {
  21. AlipayJSBridge.call('snapshot', {
  22. range: 'viewport',
  23. dataType: 'fileURL',
  24. saveToGallery: false
  25. }, function(result) {
  26. alert(JSON.stringify(result));
  27. });
  28. });
  29. });
  30. </script>

API

  1. AlipayJSBridge.call('snapshot', {
  2. range, saveToGallery, dataType, imageFormat, quality,
  3. maxWidth, maxHeight
  4. }, fn)

入参

名称 类型 描述 必选 默认值
range string 快照范围:
screen:当前客户端整个屏幕
viewport:网页可见区域
document:整个网页。
注意:document 会截取全部网页,在安卓手机上,网页很大的时候会浏览器内存溢出,请使用 screen
N “screen”
saveToGallery bool 是否保存到相册 N true
dataType string 结果数据格式:
dataURL:base64 编码的图片数据
fileURL:图片在文件系统中的 URL(图片存放于临时目录中,退出时被清除)
none:不返回数据(用于保存到相册的情况)
N “none”
imageFormat string jpg / png N “jpg”
quality int jpg 的图片质量, 取值 1 到 100 N 75
maxWidth int 图片的最大宽度. 过大将被等比缩小 N -
maxHeight int 图片的最大高度. 过大将被等比缩小 N -
fn function 回调函数 N -

出参

回调函数带入的参数 result: {success, fileUrl, dataURL}。

名称 类型 描述
success bool 是否处理成功
fileUrl string 图片在文件系统中的 URL
dataURL string base64 编码的图片数据

错误码描述

错误码 描述
10 相册保存失败
11 图片文件保存失败