2

我想在页面上创建指向其根文件夹中某些文件的超链接。

例如:

\Homepage.html- 这将包含以下超链接:

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

我可以简单地手动执行此操作,但随着文件数量(1、2、3 ...)的增加,我想自动化该过程。

JavaScript 可以做到这一点吗?如果是这样,怎么做?

4

5 回答 5

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 文档。根据您的示例文件名,main.php在您的浏览器中访问它应该输出如下内容:

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

您可能需要调整该href值以反映 html 文件相对于您的根文件夹的路径。

干杯

于 2013-04-25T22:03:27.060 回答
1

JavaScript 无法做到这一点。您可以设置一个 PHP(或其他服务器端脚本)来返回文件夹内容的 JSON,因为服务器端语言确实可以访问它,然后使用 AJAX 调用该脚本。

于 2013-04-25T21:48:53.870 回答
0

一种可能的解决方法:

  1. 从命令行列出文件夹内容
  2. 将输出用作浏览器中的输入,可以在 html 输入字段中复制和粘贴内容,也可以使用某种拖放方法。

在 Windows(非 Unicode)下列出: dir *.exe /B /S /OG 如果要将内容保存到文件 dir *.exe /B /S /OG > contentList.txt

于 2014-06-05T07:06:16.950 回答
-1

JavaScript 在客户端工作,在您的浏览器中,您需要的是服务器端脚本,例如 PHP。

JavaScript 做不到!

于 2013-04-25T21:49:08.230 回答
-1

您需要在页面中放置一个带有 ID 的 HTML 元素:

<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根据响应填充。

于 2013-04-25T21:50:20.157 回答