2015-02-10 111 views
0

我有以下文件夹结构:创建独立的HTML网页,其中显示了一个文件夹中的所有文件的内容

index.html 
my_folder 
    |-- file1.txt 
    |-- file2.txt 
    |-- another_file.txt 
    |-- ... 

index.html,我想说明的文件夹中的每个文件的第一行my_folder和将它列在一个html表格中。

有没有简单的方法来做到这一点?它应该在所有访问该文件夹的计算机上工作,该文件夹没有php或任何正在运行的文件。

非常感谢!

回答

0

本地网页没有能力读他们在该文件夹的目录结构。(想象的安全问题,如果这是可能的,你双击了附加到电子邮件中的HTML文件)。

如果您正在运行HTTP服务器,那么您可以使用服务器端代码(或者大多数服务器自动生成的基本目录列表页面)以JavaScript访问的格式列出文件。

+0

太糟糕了,我希望有一个独立的解决方案。 – Thomas 2015-02-10 19:37:50

0

不能出于安全原因,这样做的HTML或JavaScript

但是你可以输入到浏览器此功能查看本地目录
“文件:/// C:/用户//台式机/ “

0

如上所述,我最初想要的显然是不可能的。 要收集东西,下面是我如何绕过这个问题:

关键是要将文件夹结构更改为确定性的东西。我选择:

index.html 
    |-- 0/ 
     |-- info.txt 
     |-- ... 
    |-- 1/ 
     |-- info.txt 
     |-- ... 
    |-- 2/ 
     |-- info.txt 
     |-- ... 
    |-- ... 

然后,我可以用XMLHttpRequest阅读我的文件:

<script> 
var rawFile = []; 
// 1000 is much larger than the total number of files 
for(i = 0; i < 1000; i++) { 
    var folderPath = "./" + i; 
    rawFile[i] = new XMLHttpRequest(); 
    rawFile[i].open("GET", folderPath + "/info.txt", false); 
    rawFile[i].onreadystatechange = function() 
    { 
     if(rawFile[i].readyState === 4) 
     { 
      if(rawFile[i].status === 200 || rawFile[i].status == 0) 
      { 
       var data = rawFile[i].responseText; 
       // do some formatting 
       $("table").append(data); 
      } 
     } 
    } 
    rawFile[i].send(null); 
} 
</script> 

可能不是做最彻底的方法,肯定相当不灵活,但它的作品。

相关问题