截屏
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>
AlipayJSBridge.call('snapshot', {
range, saveToGallery, dataType, imageFormat, quality,
maxWidth, maxHeight
}, 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 |
fileUrl | string | base64编码的图片数据 |
error | 描述 |
---|---|
10 | 册保存失败 |
11 | 图片文件保存失败 |