首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Chrome扩展:如何列出本地目录的内容

Chrome扩展:如何列出本地目录的内容
EN

Stack Overflow用户
提问于 2012-07-12 13:20:19
回答 1查看 7K关注 0票数 7

我想做的是:

我想为测试目的创建一个Chrome扩展。并且这个扩展名应该能够访问本地硬盘驱动器上的目录和文件。

我是怎么做到的:

我在我的file:///*文件中请求manifest.json的权限。然后,我确保选中了复选框Allow access to file URLs。然后,我为一个文件做了一个XHR:

代码语言:javascript
复制
  var xhr = new XMLHttpRequest();  
  xhr.open("GET", 'file://c:/dir/file.name', true);     
  xhr.onload = function(e) {  
      console.log('response: ', xhr.response);
  }  
  xhr.send();

..。和整个目录的XHR:

代码语言:javascript
复制
  var xhr = new XMLHttpRequest();  
  xhr.open("GET", 'file://c:/dir/', true);     
  xhr.onload = function(e) {  
      console.log('response: ', xhr.response);
  }  
  xhr.send();

..。至于整个文件系统:

代码语言:javascript
复制
  var xhr = new XMLHttpRequest();  
  xhr.open("GET", 'file:///', true);     
  xhr.onload = function(e) {  
      console.log('response: ', xhr.response);
  }  
  xhr.send();

发生了什么:

  • 我能够对我的文件请求得到正确的响应。
  • 当我请求一个目录时,我收到了Chrome默认人类可读目录概述的源代码:

代码语言:javascript
复制
  <html>
  <head>
  <script>

..。

代码语言:javascript
复制
  </script>
  <style>

..。

代码语言:javascript
复制
  </style>
  <title id="title"></title>
  </head>
  <body>
  <div id="listingParsingErrorBox" i18n-values=".innerHTML:listingParsingErrorBoxText"></div>
  <span id="parentDirText" style="display:none" i18n-content="parentDirText"></span>
  <h1 id="header" i18n-content="header"></h1>
  <table id="table">
    <tr class="header">
      <td i18n-content="headerName"></td>
      <td class="detailsColumn" i18n-content="headerSize"></td>
      <td class="detailsColumn" i18n-content="headerDateModified"></td>
    </tr>
  </table>
  </body>
  </html>

..。

代码语言:javascript
复制
  <script>start("C:\\dir\\");</script>
  <script>addRow("..","..",1,"0 B","11/11/11 11:11:11 AM");</script>
  <script>addRow("file.name","file.name",0,"4.9 kB","11/11/11 11:11:11 PM");</script>
  • 当我请求整个文件系统时,我得到了一个错误。

我的问题是:

我能读到简单的文件。但是,我的扩展如何获得一个好的机器可读的目录或整个文件系统的概述呢?谢谢。

编辑:我知道 API的目的是访问沙箱式filesystem://,但是Chrome可能也允许扩展来访问file://。我找不到任何关于从Chrome扩展中访问file://的文档,所以我只能猜测。

EN

回答 1

Stack Overflow用户

发布于 2012-07-12 13:27:10

在独立的Chrome中没有内置功能。

解析目录列表页的替代方法:

  1. NPAPI扩展(C++,推荐)
  2. 具有文件系统访问权限的本地服务器。NodeJS是个不错的选择
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11452758

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档