gpt4 book ai didi

javascript - 如何将网页保存到本地,包括图片等

转载 作者:太空狗 更新时间:2023-10-29 15:57:31 28 4
gpt4 key购买 nike

我正在为应用程序构建附加组件。客户付费查看一些网页并从中下载一些文件。他们希望通过附加组件自动执行此下载过程。因此,他们不必选择“将页面另存为”并等待下载完成,而是可以单击加载项而忘记该过程。问题是,该网页正在向浏览器提供一些 cookie。所以最好的方法是 File-> "Save Page As"。我想通过附加组件来完成。有什么 firefox-javascript 的方法吗?我使用了 nsiDownloader。但它只保存html,不保存图片等。有人可以指导我解决这个问题吗?

编辑: 嗨,这是成功的代码,感谢 sai prasad

var dir =Components.classes["@mozilla.org/file/local;1"]  
.createInstance(Components.interfaces.nsILocalFile);
dir.initWithPath("C:\\filename");
var file = Components.classes["@mozilla.org/file/local;1"]
.createInstance(Components.interfaces.nsILocalFile);
file.initWithPath("C:\\filename.html");
var wbp = Components.classes['@mozilla.org/embedding/browser/nsWebBrowserPersist;1']
.createInstance(Components.interfaces.nsIWebBrowserPersist);
alert("going to save");
wbp.saveDocument(content.document, file,dir, null, null, null);
alert("saved");

编辑: 但是,仍然有些网页没有完全保存为“页面另存为”。那些保存的页面不像原始页面那样呈现,它们看起来像一些 html 示例。

最佳答案

由于您提到文件->“页面另存为”按预期工作,我尝试查看源代码 (chrome://browser/content/browser.xul) 并发现:

https://developer.mozilla.org/en/nsIWebBrowserPersist#saveDocument()

请确保仅在网页完全加载(而非 DOMContentLoaded)后调用此函数!!

关于javascript - 如何将网页保存到本地,包括图片等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11271898/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com