javascript - 列出带有 chrome 扩展名的本地目录

标签 javascript html google-chrome filesystems google-chrome-extension

我正在尝试创建一个 chrome 扩展程序来扫描本地目录以查找新文件... 但是,如果我将 file://* 权限添加到 list 中,我可以使用

访问 chrome 的内部文件浏览器

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

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

我现在的问题是:还有其他方法吗?上面的方法似乎更像是一种变通方法,如果更改了 chrome 的文件浏览器,则很容易中断...

最佳答案

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

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

  • 你不能对所有操作系统都这样做,除非你要为每个操作系统编写一个代理。
  • 无法从 Google 的扩展托管安装扩展。
  • 你必须write your own installation program that registers the extension .
  • 对此有非常实际的安全考虑。您将打开一个执行命令的 Web 服务。 非常确保您没有暴露用户。实际上,如果您正在制作一个文件浏览器,您可能正在暴露用户。修复此安全漏洞将取决于您,就好像您正在创建任何其他 Web 服务一样。

关于javascript - 列出带有 chrome 扩展名的本地目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8813282/

相关文章:

javascript - async.waterfall 模型中传递的数据不起作用?

javascript - 跨浏览器刷新在 JavaScript 对象中保留值

javascript - 如何允许 Chrome 访问本地主机上的相机?

macos - 选项卡关闭时不显示 Web 推送通知

css - 如何更改基础 4 自定义复选框中的 x 符号

html - 为什么我的 Chrome 表格单元格宽度错误?

javascript - .addClass 不会覆盖 native 单元格背景颜色

javascript - 如何在angular js中单击外部时关闭弹出窗口

javascript - 将参数传递给 promise 。我必须打破链条吗?

html - SMACSS、BEM 和 OOCSS 不是可移植的吗?