JSAPI

Since 8.6

snapshot

截屏

使用方法

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

代码演示

基本功能

<h1>点击下面按钮查看不同截图效果</h1>

<a href="javascript:void(0)" class="btn screen">截取屏幕并保存到相册</a>
<a href="javascript:void(0)" class="btn viewport">viewport截图返回fileURL</a>

<script>
function ready(callback) {
  // 如果jsbridge已经注入则直接调用
  if (window.AlipayJSBridge) {
    callback && callback();
  } else {
    // 如果没有注入则监听注入的事件
    document.addEventListener('AlipayJSBridgeReady', callback, false);
  }
}
ready(function() {
  document.querySelector('.screen').addEventListener('click', function() {
    AlipayJSBridge.call('snapshot', function(result) {
      alert(JSON.stringify(result));
    });
  });

  document.querySelector('.viewport').addEventListener('click', function() {
    AlipayJSBridge.call('snapshot', {
      range: 'viewport',
      dataType: 'fileURL',
      saveToGallery: false
    }, function(result) {
      alert(JSON.stringify(result));
    });
  });
});
</script>

API

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

入参

名称类型描述必选默认值版本
rangestring快照范围:
screen: 当前客户端整个屏幕
viewport: 网页可见区域
document: 整个网页 注意: document会截取全部网页,在安卓手机上,网页很大的时候会浏览器内存溢出,请使用screen
Nscreen
saveToGallerybool是否保存到相册Ntrue
dataTypestring结果数据格式:
dataURL: base64编码的图片数据
fileURL: 图片在文件系统中的url(图片存放于临时目录中,钱包退出时被清除)
none: 不返回数据(用于保存到相册的情况)
Nnone
imageFormatstringjpg / pngNjpg
qualityintjpg的图片质量, 取值1到100N75
maxWidthint图片的最大宽度. 过大将被等比缩小N不限
maxHeightint图片的最大高度. 过大将被等比缩小N不限
fnfunction回调函数N

出参

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

名称类型描述
successbool是否处理成功
fileUrlstring图片在文件系统中的url
fileUrlstringbase64编码的图片数据

错误

error描述
10册保存失败
11图片文件保存失败