如何在 JS/React-Native 中下载完整的 html 页面?
Posted
技术标签:
【中文标题】如何在 JS/React-Native 中下载完整的 html 页面?【英文标题】:How to download the complete html page in JS/React-Native? 【发布时间】:2020-10-31 23:08:50 【问题描述】:所以我试图在 React-Native 应用程序中下载一个完整的 html 页面,以便用户稍后也可以在离线时查看该页面。我正在使用 WebView 呈现页面,它在联机时可以正常工作。
为了让它离线,我正在执行 axios.get 来获取页面并存储它。但是当我渲染这个页面时,我注意到它缺少所有的 css/图像,因为它们不是 GET 请求的一部分。如何下载完整的 HTML 页面并将其呈现为在线状态?
我想不出任何方法来下载页面的所有资产。
【问题讨论】:
【参考方案1】:您需要下载所有引用的资产并可能更改引用,以便它们在本地工作。有一些工具可以做到这一点。
最简单的方法可能是使用您的网络浏览器保存网站。这可能会或可能不会按您期望的方式工作,但值得一试。
如果还不够,请尝试使用 HTTrack 或 wget 等工具。指令here.
【讨论】:
这可以在桌面上运行,但如果我想将网页存储在我的 React-Native 应用程序中怎么办? 你不能在桌面上下载它,然后将文件存储在你的应用程序中吗?还是要动态下载文件? 我要动态下载【参考方案2】:它与我当前的问题类似,当用户尝试打开 webview 时,我面临很长时间的下载设置时间,无论如何它会降低 UX,那么我们应该做一些事情以获得更好的性能,我找到了这个包
https://www.npmjs.com/package/react-native-static-server
但是我担心这个包的长期维护,如果有一天这个包在反应本地更新他们的库时没有更新他们的包,那将是最糟糕的情况。
【讨论】:
以上是关于如何在 JS/React-Native 中下载完整的 html 页面?的主要内容,如果未能解决你的问题,请参考以下文章
如何下载 .html 格式的完整 html 代码? [复制]