笔者在最近写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)就可以把一个对象转换为字符串

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

chrome插件通过下载实现导出文件相关推荐

  1. OneTab下载,chrome插件,crx下载

    OneTab 是一款 Chrome / Firefox 扩展,用来让那些打开了但是没有空看的标签页保存到后台列表,从而节省宝「贵」的内存资源,根据 Chrome 的内存消耗情况下来,可以达到 95% ...

  2. Axure RP chrome插件显示已损坏或者无法安装的解决方法

    http://www.cnplugins.com/zhuanti/arux-rp-bug.html 1.Axure RP chrome插件无法安装的解决方法. 首先Axure RP chrome插件的 ...

  3. 怎么在谷歌浏览器中安装.crx扩展名的离线Chrome插件?

    在用户使用谷歌浏览器安装Chrome插件的时候,如果网络状态允许或者用户直接在谷歌提供的服务中获取的Chrome插件,就可以点击其提供的一键跳转按钮直接根据提示安装到Chrome浏览器中,这种安装Ch ...

  4. Chrome插件安装办法【PC端】

    自从Chrome浏览器开始增加了对扩展插件安装的限制之后, Chrome浏览器开始默认只允许从 Chrome Web Store (Chrome 网上应用店)安装扩展.应用及脚本,也就是意味着用户只能 ...

  5. 解决Chrome插件安装时出现的“程序包无效”问题

    某些用户在Chrome插件网下载了Chrome插件后,不知道怎么才能把它安装到Chrome浏览器中,用户可以根据本站提供的教程:怎么在谷歌浏览器中安装.crx扩展名的离线Chrome插件?把下载后的扩 ...

  6. 实用Chrome插件-OneTab

    转自:http://chromecj.com/productivity/2014-11/280.html  OneTab是一款可以帮助用户一键杀死谷歌浏览器中所有标签页并通过提示恢复部分有用标签页的C ...

  7. 《Vue3+TS》开发一个自己的起始页(二)chrome插件化

    前言 各位小伙伴们大家好,求关注,求收藏,求点赞: 另外为自己拉一波票:https://bbs.csdn.net/topics/603955887?spm=1001.2014.3001.6953,诚实 ...

  8. 如何解决Chrome插件安装时出现的“.crx程序包无效”问题

    最近由于要写论文,就尝试着使用Google浏览器插件,访问外网:但是有时候网络会不稳定,就要重新添加插件,当删除旧的插件后,却发现无法登录Google应用商店了......不得已在Chrome插件网下 ...

  9. chrome 窗体高度_Chrome窗口大小自定义调节插件下载_Chrome窗口大小自定义调节插件官方下载-太平洋下载中心...

    Chrome窗口大小自定义调节插件是一款可以设置浏览器窗口大小的Chrome扩展,安装Chrome窗口大小自定义调节插件后可以快速调节chrome的窗口大小,用户可以将窗口调节为320x480.480 ...

最新文章

  1. 【论文笔记】CNN for NLP
  2. 中小企业实施ERP更多是需要发展的眼光与坚定的决策
  3. 算法函数_关于损失函数和优化算法,看这一篇就够了
  4. 天线巴伦制作和原理_10米段的春天 | 用自制环型天线+改装SDR接收器27MHz采访实录...
  5. centos 7 firewalld 设置
  6. java 执行多个查询语句_用java在单个语句中执行的多个查询
  7. STM32:ST-LINK下载弹出no target connect
  8. c语言实验二作业,C语言实验作业8 - osc_5p0xffsa的个人空间 - OSCHINA - 中文开源技术交流社区...
  9. java静态链表_Java数据结构——静态链表实现
  10. 模糊控制理论理解与综述
  11. flutter listview 设置分割线
  12. YYC松鼠短视频系统完整版的文件结构目录介绍以及自定义目录详解
  13. 京东方、立讯精密纷纷向苹果靠拢,再次撕下国产手机遮羞布
  14. 无限能,传统中药饮片的蜕变
  15. Render函数的使用方法
  16. 数据分析师是否是青春饭,对年龄有限制吗?
  17. 带你初识JSP(JAVA服务器页面)
  18. 疑似1.59亿LinkedIn领英客户数据库正在以99美元的价格被售卖
  19. Simscape Multibody 答疑(三)
  20. ubuntu10的pci扩展卡驱动安装失败后检查方法

热门文章

  1. Windows sonarqube启动时卡在es上
  2. tapora true
  3. 使用Postmark作为稳定、给力的邮件代发服务器!
  4. Nginx 官网文档翻译汇总
  5. PS图层混合模式超详细解答-图层混合模式的原理(Part2)
  6. 深入浅出!微信小程序的事件处理,顺利通过阿里Android岗面试
  7. 如何在Unity中自定义光源,包含URP管线和Build in 管线(一)
  8. 【题库】上海市学校心理咨询师考试基础题库-普通心理学
  9. PIL库使用实例:图片像素风处理
  10. 实验——修改文件名会影响文件的MD5值吗?