[请教] 大佬们,怎么通过 js 把网页保存成 html 呢?

查看 99|回复 8
作者:xiguaprince   
google 和 V2EX 上都搜了一下,但是没有看到比较直接的方案。
都说直接浏览器保存 或者使用 singleFile 或者 save page 来保存。
那么有 js 库 或者 什么方案吗?
不是想保存成文件,而是获取带样式和图片 base64 的 html 文本
NoOneNoBody   
不是想保存成文件,而是获取带样式和图片 base64 的 html 文本
xiguaprince
OP
  
因为页面内 js 不能操作文件,不然可以存木马了,所以需要扩展或可操作本地文件的程序
xiguaprince
OP
  
@NoOneNoBody 不操作文件,只是把 dom 转成单个 mht 格式的 string , 这个有什么现成的库吗
xiguaprince
OP
  
实在不行 我只能扒现成插件的代码了 呜呜呜
NoOneNoBody   
怎么有人还感谢我
shizhibuyu2023   
没有这样的库,还是那个原因:页面 js 不能操作本地文件
js 读不到浏览器缓存,所以,js 要转图片为 base64 ,需要重新请求一遍,通过 canvas 转 base64
而且还有前置工作是 parse 整个页面,还有非图片的二进制文件如字体,我还想不到怎么做,还有跨域问题,归结一句就是个单页面爬虫了,不如发给其他工具完成
但扩展是有权限读取缓存的,所以就容易很多了
这复杂程度,个人觉得页面 js 不能完成,起码要扩展或者发送给外部完成
imdong   
这又没啥难度,随便手撸下就能粗略地实现,想更完善就去 npm 搜呗,多到你都挑不过来
xiguaprince
OP
  
也许有一个方案,仅猜测。
pwa 的方式,在 worker 中拦截流量,最后将记录下的数据处理后替换或者重新生成。
但只适合自己的站点。
理论哈,不确定是否可以。
您需要登录后才可以回帖 登录 | 立即注册

返回顶部