2013-04-25 60 views
0

我想在一個頁面上創建超級鏈接到其根文件夾中的某些文件。根據文件夾內容創建超鏈接

因此,例如:

\Homepage.html - 這將包含的鏈接:

\1.html 
\2.html 
\3.html 
etc. 

我可以簡單地手動做到這一點,但我想的過程,文件的數量自動(1, 2,3 ...)會增加。

的JavaScript可以做到這一點?如果是這樣,怎麼樣?

+0

JavaScript本身不能不通過使用AJAX,你可以。 – j08691 2013-04-25 21:48:52

+1

這裏有很多建議使用AJAX等等。爲什麼要使用JavaScript *?使用PHP讀取目錄並將鏈接寫爲動態HTML。完成。 – Madbreaks 2013-04-25 21:56:47

回答

2

我收到你對使用JavaScript的印象,因爲你可能不知道如何去做。如果我不正確,那麼我的道歉。這就是說......

正如其他人所指出的,JS無法單獨做到這一點。您將需要一個服務器組件(如PHP)來讀取目錄以獲取其文件。從這一點你有很多選擇。我的建議是,忘記JS,除非你有一些要求使用它。只需使用DHTML,這是PHP的基本人才。調用這個文件類似main.php

<html> 
<body> 
<?php 
// Read directory, spit out links 
if ($handle = opendir('.')) { 
    while (false !== ($entry = readdir($handle))) { 
     if ($entry != "." && $entry != "..") { 
      echo '<a href="/'.$entry.'">Link to file '.$entry.'</a><br>'; 
     } 
    } 
    closedir($handle); 
} 
?> 
</body> 
</html> 

或多或少直接從PHP readdir docs採取上面的例子。根據您的示例文件名,訪問main.php在瀏覽器中這應該輸出類似:

Link to file 1.html 
Link to file 2.html 
Link to file 3.html 
... 

您可能需要調整href值以反映路徑到HTML文件,相對於你的根文件夾。

乾杯

1

JavaScript不能這樣做。您可以設置一個返回文件夾內容的JSON的PHP(或其他服務器端腳本),因爲服務器端語言DO可以訪問它,然後使用AJAX調用該腳本。

+0

好的。謝謝 – KickAss 2013-04-25 21:50:46

+0

爲什麼?只需使用PHP將數據寫入JS變量,並在頁面加載時對其進行操作。 AJAX在這裏完全沒有必要。實際上,爲什麼要使用JS呢? – Madbreaks 2013-04-25 21:54:41

+0

使用AJAX腳本將使代碼變得更清潔並且更加可重用(並且它不是很難)。如果需要,它還可以顯示更新而不刷新頁面。 – 2013-04-25 21:57:31

-1

於客戶端JavaScript的工作,在您的瀏覽器,你需要的是一個服務器端腳本,如PHP爲例。

JavaScript不能做到這一點!

+0

爲什麼這會降低投票率? – Madbreaks 2013-04-25 21:55:05

+0

這是一個很好的問題。 – zeyorama 2013-04-25 21:57:00

-1

你需要把一個HTML元素在頁面中與ID:

<div id="foo"></div> 

然後,使用JavaScript,

for (var i = 1 ; i <= 10 ; i++) { 
    document.getElementById("foo").innerHTML += "<a href=\"" + i + ".html\">Link " + i + "</a>"; 
} 

轉義引號(\「)是很重要的 - 搞砸他們可能會導致意想不到的結果。

編輯我仔細閱讀你的問題,並意識到你需要它增加,因爲你添加更多的文件秒。在這種情況下,您可以使用PHP來生成JavaScript頁面上,即

for (var i = 1 ; i <= <?php echo $maxFileIndex; ?> ; i++) { 
    document.getElementById("foo").innerHTML += "<a href=\"" + i + ".html\">Link " + i + "</a>"; 
} 

,或者你可以做一個AJAX請求到服務器並填充基於響應的div

+0

會發生什麼,如果有其他文件,如first_page.html或gears.html?編輯:剛剛評論,當你編輯你的答案。 xD – zeyorama 2013-04-25 21:52:47

+0

我剛剛給出的例子,他們有編號的頁面。如果是我,我會從服務器獲取一個JSON對象並對其進行迭代。 – 2013-04-25 21:53:23

+0

謝謝你們:)我會研究PHP和AJAX – KickAss 2013-04-25 21:55:06

0

一個可能的解決辦法:

  1. 列表命令行
  2. 該文件夾的內容使用輸出輸入您的瀏覽器可以複製&粘貼內容中的HTML輸入域或一些拖放方法&。

要在Windows(非Unicode)的下表: DIR * .EXE/B/S/OG 如果你想將內容保存到一個文件 DIR * .EXE/B/S/OG> contentList .txt