我是JavaScript和Electron Projects的新手。我有一个小任务来运行一个网页,其中我有“下载”按钮,如果我按下按钮我必须获取当前页面的所有内容和源代码。我的样本工作在这里:
browser.js
onload = function() {
var webview = document.querySelector('webview');
doLayout();
document.querySelector('#back').onclick = function() {
webview.goBack();
};
document.querySelector('#download').onclick = function() {
var urlStr = webview.getURL()
alert(urlStr)
// alert(webview.getWebContents());
};
}
目前我可以在Alert View中获取Url,但我无法获取网页内容
注意:请仅在JavaScript中提供解决方案而不是jQuery
答案 0 :(得分:1)
最后这个简单的代码帮我下载了html文件
var htmlContent = [""];
var bl = new Blob(htmlContent, {type: "text/html"});
var a = document.createElement("a");
a.href = urlStr;
a.download = "new.html";
a.hidden = true;
document.body.appendChild(a);
a.innerHTML = "something random - nobody will see this, it doesn't matter what you put here";
a.click()
答案 1 :(得分:0)
如果没有一些服务器端代码可以读取所需文件并使用download-headers发送它,则无法执行此操作。
由于Electron是一个CSS / HTML / JS框架,也专注于应用程序开发,我怀疑这是否可以在Electron中实现。鉴于它的Node,它可能是可能的(因为Node是服务器端的),但是如果可能的话,我在Electron on上缺乏知识/经验。
您可能希望在其文档中查看此页面:http://electron.atom.io/docs/api/download-item/