基于目录树中可用的文件生成带有链接的html页面
Generating html-page with links basing on files available in directory tree
我想根据文件的文件名,使用浏览目录树收集的信息来生成本地html页面内容。我对javascript没有任何经验,我想这将是最容易完成任务的。该页面必须正确使用IE7。现在,让我举一个我想做什么的例子。
html文件位于本地目录中,例如HTML_DIR
。有几个子目录,比如HTML_DIR'A
、HTML_DIR'B
、HTML_DIR'C
,其中包含名为XXX_001-999.xml
、YYY_001-999.xml
、ZZZ_001-999.xml
的xml文件,而每种类型都可以在每个子目录中找到。因此,一个示例场景是:
HTML_DIR
/A
- XXX_001.xml
- XXX_002.xml
- XXX_003.xml
- YYY_001.xml
- YYY_002.xml
- YYY_003.xml
/B
- ZZZ_001.xml
- ZZZ_002.xml
- ZZZ_003.xml
- ZZZ_111.xml
- XXX_111.xml
/C
- YYY_001.xml
- YYY_002.xml
- YYY_003.xml
- ZZZ_111.xml
- XXX_111.xml
现在,我想在html页面上为每个子目录动态生成表,其中的行取决于包含的文件,因此页面看起来像:
Table A
XXX YYY ZZZ Link
001 001 http://localhost:8080/001.html
002 002 http://localhost:8080/002.html
003 003 http://localhost:8080/003.html
Table B
XXX YYY ZZZ Link
001 http://localhost:8080/001.html
002 http://localhost:8080/002.html
003 http://localhost:8080/003.html
111 111 http://localhost:8080/111.html
Table C
XXX YYY ZZZ Link
001 http://localhost:8080/001.html
002 http://localhost:8080/002.html
003 http://localhost:8080/003.html
111 111 http://localhost:8080/111.html
这可行吗?
使用javascript读取服务器的文件系统是不可能的,javascript是在客户端上执行的。必须使用服务器端语言(如php或java)才能做到这一点。
这里有一个简单的片段,用于读取给定文件夹中的所有文件和文件夹,但我不确定您是否可以使用它读取虚拟文件夹。
window.onload = function () {
var topRoot = 'YOUR_TOP_FOLDER_PATH', // Like 'C:/xmls'
fso = new ActiveXObject('Scripting.FileSystemObject'),
getFolderTree = function (path) {
var allfiles = [],
getTree = function (subfolders) {
var subs, files;
while (!subfolders.atEnd()) {
subs = subfolders.item().SubFolders;
if (subs) {
getTree(new Enumerator(subs));
}
files = new Enumerator(subfolders.item().files);
while (!files.atEnd()) {
// Add a file filter here
allfiles.push(new String(files.item()));
files.moveNext();
}
subfolders.moveNext();
}
};
getTree(new Enumerator(fso.GetFolder(path).SubFolders));
return allfiles;
},
tree = getFolderTree(topRoot),
dir = document.getElementById('dir'),
n = 0;
tree.sort();
// This is just an example print
for (; n < tree.length; n++) {
dir.innerHTML += tree[n] + '<br>';
}
return;
}
只需将此功能安装到您自己的架构中,并添加topRoot
、文件过滤器和打印布局即可。
请注意,topRoot
应该是一个子文件夹(即不要使用topRoot = 'C:';
),读取系统中的所有文件将花费大量时间。
相关文章:
- 如何使用jQuery自动打开页面上的所有链接
- 制作一个不带HTML a标记但在动画播放完毕后指向其他页面的超链接
- 单击页面上的链接后高度发生变化
- 加载超链接页面后如何响应事件
- 如何使用嵌套的 React 组件从“链接页面”的顶部开始
- 使用phonegap在jquery-mobile中链接页面/加载javascript的最佳实践是什么
- 链接页面时出错
- Rails 4涡轮链接页面:用JS加载
- 使用jQuery Mobile链接页面和加载JavaScript
- Javascript-href操作在链接页面上执行
- Chrome动画链接页面加载
- 在页面完全加载后重定向到链接页面
- 链接页面上的菜单没有关闭
- jQuery fade "back to top"链接.页面加载链接可见性
- 如何将链接页面显示为表格的内容
这就是我的例子 - 当链接页面加载时,使用jQuery/Javascript从外部链接应用过滤功能
- 如果javascript被禁用,则移动链接页面或显示弹出窗口
- 如何有条件地阻止锚点跳转到其链接页面
- 改变颜色当前链接页面角&css
- 如何使锚链接页面可滑动