列出另一个html文件(使用javascript/jQuery)中的本地html文件,并动态为它们创建链接

列出另一个html文件(使用javascript/jQuery)中的本地html文件,并动态为它们创建链接,javascript,jquery,html,client-side,static-html,Javascript,Jquery,Html,Client Side,Static Html,我计划通过双击在浏览器中打开一个供本地使用的静态html文件(没有运行http服务器) 在一个文件夹中(与索引文件位于同一文件夹中),我计划添加“item”文件,这样当我打开主文件时,它会列出该文件夹中的所有html文件,并创建一些带有文件链接的导航列表。稍后我可以在文件之间添加一些导航(交叉链接),但这是另一个问题 主要的问题是,索引文件不知道项目文件提前了多少(以及哪些),而是应该在加载索引页时动态列出它们,并在索引页中的某个静态元素内创建链接列表 更新:一个伪代码片段或多或少地显示了我想要

我计划通过双击在浏览器中打开一个供本地使用的静态html文件(没有运行http服务器)

在一个文件夹中(与索引文件位于同一文件夹中),我计划添加“item”文件,这样当我打开主文件时,它会列出该文件夹中的所有html文件,并创建一些带有文件链接的导航列表。稍后我可以在文件之间添加一些导航(交叉链接),但这是另一个问题

主要的问题是,索引文件不知道项目文件提前了多少(以及哪些),而是应该在加载索引页时动态列出它们,并在索引页中的某个静态元素内创建链接列表

更新:一个伪代码片段或多或少地显示了我想要的内容(不是javascript语法):

for (filename in listfiles(directory='somedirectory', filetype='html') {
    somediv.appendChild(elementType='a', href=filename)
你知道如何在没有服务器端脚本的情况下做到这一点吗?重要的是要明确这是个人使用的,与互联网或web开发无关


谢谢你的阅读

不完全理解您的目标,但如果您想获取某个页面的内容并将其加载到另一个页面中,您可以使用它。 但是,有些浏览器在本地阻止它。 我已经从文本文件中加载了内容,所以如果它能够从您提到的文件中读取内容
我想您将能够提取所需的内容,但在纯JavaScript中不可能这样做。您需要一些服务器端代码来告诉浏览器文件列表。可能最简单的方法是进行AJAX调用,其中服务器使用所需的文件列表进行响应


这正是我们要做的。这是一段有点旧的代码(从2008年开始),因此可能与当前版本的jQuery存在一些不兼容的地方,但您可以从中获得一些启发。:-)

这是一个有点老的问题,但我认为许多人试图找到一些解决办法。这里有一个

我使用扩展创建了这种解决方案。已经有编译的扩展DLL/SO,因此如果您不想(例如)添加新方法,则无需重新编译。您可以使用该库并开发firefox、chrome的扩展,或许还可以与IE的AtiveX组件一起开发。下面是我为chrome所做的

1) 下载svn回购协议

2) 对于较新的Chrome版本,编辑位于
test\extension
-文件夹下的
manifest.json
-文件。下面是我的manifest.json文件

{
  "manifest_version": 2,
  "name": "npapi-file-io-test",
  "description": "NPAPI demo",
  "version": "1.0",
  "description": "Test extension for npapi-file-io project",
  "background": {
    "page": "background.html"
  },
  "plugins": [{"path": "npapi-file-io-32.dll", "public": true},{"path": "npapi-file-io-32.so", "public": true},{"path": "npapi-file-io-64.so", "public": true}]
}
3) 将延长件安装到镀铬管中

4) 在页面中使用扩展名。下面的示例列出了/tmp文件夹中的文件

<!DOCTYPE XHTML>
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  <title>NPAPI File IO test</title>
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script>
    $(document).ready(function() {
        var fs = $('#fs')[0];
        var  dir = "/tmp";
        var files = fs.listFiles(dir);
        for (var f in files) {
            if (files[f].type == "file") {
                $('#filelist').append('<a href="file:///'+dir+"/"+files[f].name+'">'+files[f].name+'</a><br/>');
            }
        }
    });
</script>
</head>
<body>
    <embed type="application/x-npapi-file-io" id="fs">
    <div id="filelist"></div>
</body>
</html>

NPAPI文件IO测试
$(文档).ready(函数(){
var fs=$('#fs')[0];
var dir=“/tmp”;
var files=fs.listFiles(dir);
for(文件中的var f){
如果(文件[f]。类型==“文件”){
$(“#文件列表”).append(“
”); } } });
在这里阅读更多关于此的信息,看看Active-X。不过它只适用于IE。HTML5似乎是另一种选择:如果我知道文件名,我已经在iframe中顺利加载了本地html。我想要的是一种列出文件名的方法,这样我就可以从这个文件名列表中动态创建iFrame(或链接,或任何其他元素)。我已经编辑了这个问题,并包含了我想做的psedo代码块。我知道了,但我想这在js中是不可能的。我建议您使用操作系统的一些语言和工具来生成该列表。