<script module="canvasToImage" lang="renderjs">
import html2canvas from "html2canvas"
export default {
data() {
return {}
},
methods: {
async preservation(event, ownerInstance) {
ownerInstance.callMethod('showToast', 'load')
var dom = document.getElementById('draw')
try {
const canvas = await html2canvas(dom, {
background: '#fff',
scale: 2,
useCORS: true,
allowTaint: true,
logging: true
})
let url = canvas.toDataURL('image/png')
ownerInstance.callMethod('saveToAlbum', url)
} catch (error) {
console.log(JSON.stringify(error))
ownerInstance.callMethod('showToast', 'hide')
//TODO handle the exception
}
},
}
}
</script>
就算是给一个空view绑定上draw,都会报错 {"stack":"Error: Failed to execute 'open' on 'Document': Can only call open() on same-origin documents."} AI说这是跨域的问题,是鸿蒙对webview的限制比较严重吗,官方有没有在哪里可以配置允许跨域的?
阵浊秀 (作者)
佬,这个可以直接运行,就是要替换一下鸿蒙的那个证书吧?
2025-07-02 15:24
阵浊秀 (作者)
佬怎么样, 有说法吗
2025-07-03 09:29
DCloud_UNI_yuhe
回复 阵浊秀: 看一下私信
2025-07-03 14:47
jyoungvi
回复 阵浊秀: 请问后续有解决了嘛?
2025-07-07 11:52
DCloud_UNI_yuhe
回复 jyoungvi: 可以私信我一下
2025-07-07 11:58
9***@qq.com
回复 阵浊秀: 老铁 怎么解决的 我这边也是这样
2025-07-16 18:15
DCloud_UNI_yuhe
回复 9***@qq.com: 私聊
2025-07-16 18:49
kemp
回复 9***@qq.com: 请问后续解决了吗
2025-07-27 11:00
kemp
回复 阵浊秀: 请问后续解决了吗
2025-07-27 11:01
DCloud_UNI_yuhe
回复 kemp: 可以私信我一下
2025-07-28 09:33