因此,我尝试用电子方式快照Web视图,然后将其显示在Web视图之外的<img>
上。但是当我拥有NativeImage时,无法将其转换为dataUrl
。
这是我尝试过的:
const electron = require("electron");
const {remote, nativeImage} = electron;
...
var wv = document.getElementById("wv");
var ph = wv.capturePage();
var pr = ph.toDataURL();
我得到:
ph.toDataURL()不是函数
我做错了什么?谢谢!
答案 0 :(得分:1)
capturePage()
返回一个promise或接收一个回调,因此您必须等待它解决(await
或then()
):
var ph = await wv.capturePage();
var pr = ph.toDataURL();
或在回调中获取您的数据网址:
var ph = wv.capturePage(function (ph) {
var pr = ph.toDataURL();
});
编辑:
在here中发布,这似乎是一个已知问题,其中函数<webview>.capturePage()
返回电子4.0的空对象。解决方法是:
<webview>.getWebContents().capturePage()