列出具有chrome扩展名的本地目录

exx*_*xxe 6 javascript filesystems html5 google-chrome google-chrome-extension

我正在尝试创建一个chrome扩展,它在本地目录中扫描新文件......但是,如果我将清单://*权限添加到清单中,我可以访问chrome的内部文件浏览器

xmlhttp.open("GET","file://C:/Users/username/Desktop/",false); xmlhttp.send(); console.log(xmlhttp.response);

从响应中,我可以提取文件URL并在我的扩展中使用它们.

我现在的问题是:还有其他方法吗?如果chrome的文件浏览器被更改,上面的方式似乎更像是一种解决方法并且容易中断...

Bra*_*rad 6

每当我不得不从 Chrome 扩展程序在本地机器上做一些事情时,我总是创建一个小程序,它接受通过 HTTP 的连接,并像普通程序一样完成工作,通过 POST 使用 JSON 接收命令。这为您提供了极大的灵活性,因为它本质上允许您编写一个 Chrome 扩展程序,该扩展程序可以执行桌面程序可以执行的任何操作。

但是,这样做有很大的缺点,只有在绝对必要时才应该这样做。例如:

  • 你不能对所有操作系统都这样做,除非你要为每个操作系统编写一个代理。
  • 无法从 Google 的扩展托管安装扩展。
  • 您必须编写自己的安装程序来注册扩展
  • 有非常真实的安全考虑需要担心。您将打开一个执行命令的 Web 服务。要非常确定你不会暴露用户。实际上,如果您正在制作文件浏览器,您可能会暴露用户。由您来修复这个安全漏洞,就像您在创建任何其他 Web 服务一样。