2015-02-10 57 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> 

可能不是做最徹底的方法,肯定相當不靈活,但它的作品。

相關問題