我正在尝试创建一个 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/