我想在页面上创建超级链接到其根文件夹中的某些文件。
例如:
\Homepage.html
- 这将包含以下超链接:
\1.html
\2.html
\3.html
etc.
我可以手动执行此操作,但我希望自动执行该过程,因为文件数量(1,2,3 ...)将会增加。
JavaScript能做到吗?如果是这样,怎么样?
答案 0 :(得分: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 :(得分:1)
JavaScript无法做到这一点。您可以设置一个PHP(或其他服务器端脚本),返回文件夹内容的JSON,因为服务器端语言DO可以访问它,然后使用AJAX调用该脚本。
答案 2 :(得分:0)
可能的解决方法:
在Windows下列出(非Unicode): dir * .exe / B / S / O-G 如果要将内容保存到文件中 dir * .exe / B / S / O-G&gt; contentList.txt
答案 3 :(得分:-1)
JavaScript在客户端工作,在浏览器中,您需要的是服务器端脚本,例如PHP。
JavaScript无法做到这一点!
答案 4 :(得分:-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
。