此接口用于截屏。
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)
入參
屬性 | 類型 | 描述 | 必填 | 默認值 |
range | string | 快照范圍:
重要 document 會截取全部網頁,在安卓手機上,網頁很多時候會存在瀏覽器內存溢出情況,請使用 | N | “screen” |
saveToGallery | bool | 是否保存到相冊。 | N | true |
dataType | string | 結果數據格式:
| 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 | 圖片文件保存失敗。 |
文檔內容是否對您有幫助?