<template>
<view class="dd">
<web-view id="test" ref='test' class="test" style="flex: 1;" :src="url"></web-view>
<view class="btnbox">
<!-- <view><text class="text">我是按钮栏</text></view> -->
<view class="textbox" @tap="save"><text class="text">保存到相册</text></view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
url: ''
}
},
methods: {
save() {
console.log(this.$refs.test);
var currentWebview = this.$scope.$getAppWebview();
console.log(currentWebview);
console.log(plus.webview.getDisplayWebview());
console.log(plus.webview.getWebviewById('7'))
console.log(plus.webview.all())
// plus.webview.all().map((res,i)=>{
// if(res.id != currentWebview.id){
// plus.webview.getWebviewById(res.id).hide();
// }
// })
// setTimeout(function() {
// let wv = currentWebview.children()[0]
// console.log(currentWebview.children())
// }, 1000);
return
// 截屏绘制
var bitmap = null;
bitmap = new plus.nativeObj.Bitmap('test');
// 将webview内容绘制到Bitmap对象中
ws.draw(bitmap, function() {
bitmap.save("_doc/drawScreen.jpg", {
overwrite: true
}, res => {
console.log(res.target); // 图片地址
uni.saveImageToPhotosAlbum({
filePath: res.target,
success: function() {
console.log('save success');
}
});
bitmap.clear(); // 清除Bitmap对象
}, error => {
console.log(JSON.stringify(error)); // 保存失败信息
bitmap.clear(); // 清除Bitmap对象
});
}, function(e) {
console.log('截屏绘制图片失败:' + JSON.stringify(e));
}, {
check: true, // 设置为检测白屏
clip: {
top: '0%',
left: '0px',
height: '50%',
width: '100%'
} // 设置截屏区域
});
}
},
onLoad(e) {
this.url = e.url
}
}
</script>
<style>
.dd {
flex: 1;
}
.btnbox {
background-color: #3184ff;
}
.textbox {
height: 80rppx;
justify-content: center;
align-items: center;
}
.text {
color: #FFFFFF;
}
</style>
1***@qq.com (作者)
嗯嗯 只能这样了 谢谢
2021-12-01 15:31