因此,我尝试用 Electron 方式快照Web View ,然后将其显示在Web View 之外的<img>
上。但是当我拥有NativeImage时,我无法将其转换为dataUrl
。
这是我尝试过的:
const electron = require("electron");
const {remote, nativeImage} = electron;
...
var wv = document.getElementById("wv");
var ph = wv.capturePage();
var pr = ph.toDataURL();
我得到:
我做错了什么?谢谢!
最佳答案
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()
返回 Electron 4.0的空对象似乎是一个已知问题。解决方法是:<webview>.getWebContents().capturePage()