javascript - 下载完整的网站(包括 Assets )以供离线使用

标签 javascript cordova offline

我正在考虑编写一个 Cordova 应用程序来下载网站,以便可以离线阅读(例如 Windows 上的 HTTrack)。主要原因是缺乏适用于 Windows 10 平板电脑的优秀离线 RSS 阅读器。

我一般知道我必须做什么,但是是否有一些框架可以简化其中一些操作?

到目前为止,我认为我需要执行以下操作:

  • 下载网站的 HTML
  • 获取所有资源(CSS、JS、图像、视频)的列表
  • 下载这些资源
  • 将资源网址替换为新的本地网址。

最大的问题是下载资源。它不像解析 HTML 中的 linkscriptimg 标签那么简单,因为 CSS 可以有 import JS 可以进行 ajax 调用。 另外,如何决定下载哪些资源?我不想浪费时间下载广告..

还有一些具体问题:

  • 我应该如何显示下载的页面?我的第一个想法是在 iFrame 中防止冲突。
  • 是否存在任何法律问题?特别是如果我要发布该应用程序?
  • 如何保存资源,以便它们具有可包含在 HTML 中的 URL?
  • 使用服务器来完成繁重的工作(解析、重写、获取 URL 等)可能会更好吗?已经有这方面的工具了吗?

有人指点一下吗?或者您认为这不切实际?

最佳答案

查看https://archivebox.io ,它是一个开源、自托管的工具,可创建网站的本地、静态、可浏览的 HTML 克隆(它保存 HTML、JS、媒体文件、PDF、屏幕截图、静态资源等)。

它可以完成您想要的大部分功能,包括使用 youtube-dl、wget 和 chrome headless 保存资源和媒体文件。

关于javascript - 下载完整的网站(包括 Assets )以供离线使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39215228/

相关文章:

javascript - PrimeFaces 渲染的所有 JavaScript 是什么?

javascript - 输入字段值未进行算术求和

windows - 脱机时 DNS 查找不起作用

javascript - Phonegap 忽略空全局对象

android - Google Maps API for android 使用离线帐户 api 命中?

sql-server - 在用户的默认数据库脱机后,如何重新获得对 MS SQL Server 的访问权限?

javascript - WebStorm 将 React render() 函数标记为未使用字段

javascript - 如何打印3个项目,与2个输入(价格和数量)相关

javascript - Cordova:使用 javascript api 登录 facebook 不工作

cordova - 如何将单独的纵向和横向启动图像添加到 Android config.xml 间隙 :splash