在高度简化的场景中,我将以下 bash
脚本作为 cgi
运行:
#!/bin/sh
echo "Content-type: text/html"
list=
j=2
for i in $(ls *.log)
do
(( j++ ))
list="$list
<a id=\"index$j\" href=\"$i\">$(basename "$i" .log)</a>"
done
(( j-- ))
echo -n "
<html>
<head>
<title>
title
</title>
<meta http-equiv=\"refresh\" content=\"5\">
<script type=\"text/javascript\">window.count = {limit: $j}</script>
</head>
<body>
<div id=\"list\">
$list
</div>
</body>
</html>
"
该脚本获取当前目录中所有日志文件的名称、基本名称和索引(带偏移量),并为每个日志文件创建一个 anchor 。我想通过使用 setInterval()
仅更改 div
的内容来避免不必要的页面刷新。是否可以使用纯 JavaScript
来完成迭代部分(没有 jquery
、php
、asp
等)?
最佳答案
首先不要parse ls .
第二,不,你的 JavaScript 无法迭代服务器目录。
但是,您可以编写一个脚本,该脚本仅以 JavaScript 可用格式(json、xml、每行一个文件等)返回目录内容,然后使用该列表无需刷新即可更新页面内容。
关于javascript - 通过目录中的文件进行服务器端迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27159350/