chrome插件通过下载实现导出文件 您所在的位置:网站首页 将谷歌浏览器的书签导出到本地文件 chrome插件通过下载实现导出文件

chrome插件通过下载实现导出文件

2024-07-16 02:24| 来源: 网络整理| 查看: 265

笔者在最近写chrome浏览器插件时,遇到了一个问题

这个插件是一个保存网页链接,类似于收藏夹的一个插件,其中有一个需求是要将保存好的收藏夹导出到本地文件系统

但是,浏览器对于本地文件系统的保护极其严格,插件很难访问到本地文件,所以笔者打算通过调用chrome.downloads.download方法,通过下载的方式间接实现导出

那么问题就变成了,如何通过这个download方法来实现保存自定义内容的文本

通过查阅chrome插件的API文档,可以发现,download方法接受url作为参数,这个时候有一种方法,是通过http请求,把需要导出的数据上传到某个服务器,再通过download方法来导出到本地,有点类似于使用图床。但是这就有点小题大做了,如果有这个精力去实现一个服务器,不如直接搞云端备份。

还有一个思路,也是本文的解决方法,就是使用dataURL。关于dataURL,不熟悉的朋友可以看看参考https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Basics_of_HTTP/Data_URLs,大概就是把数据本身弄到了URL里面,访问这个URL就相当于直接访问了数据本身

所以我们构造一个自定义的URL,例如上文中的data:,Hello%2C%20World!

具体实现代码如下

chrome.downloads.download({ url:"data:,"+str, filename:"exported_watch_later_list.json", conflictAction : "overwrite" },function (id){ });

其中str为需要导出的文本,通过JSON.stringify(obj)就可以把一个对象转换为字符串

至此,导出部分就完成了,目前笔者还在研究导入的方法,如果各位有想法欢迎在评论区讨论,如果本文有错误的地方也欢迎在评论区里指正。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有