Javascript 如何从目录加载随机文件

Javascript 如何从目录加载随机文件,javascript,jquery,typescript,github-pages,Javascript,Jquery,Typescript,Github Pages,我试图在GitHub页面上创建一个问题库。 我使用以下命令加载特定文件: $(document).ready(function() { var theQuestion = "./questionsBank/"+"question-4"+".html"; //path to load $("#question").load(theQuestion); //loading the questi

我试图在GitHub页面上创建一个问题库。 我使用以下命令加载特定文件:

$(document).ready(function() {
    
    var theQuestion = "./questionsBank/"+"question-4"+".html"; //path to load
    $("#question").load(theQuestion);  //loading the question
  
  });
现在,questionsBank目录中有很多文件,我想让脚本随机选取并加载一个,但我不知道如何使用JS

  • 如何检索questionsBank目录中的所有文件名
我想执行以下操作,但不知道如何将目录中的文件名读入数组:

var questionFolder = './some directory';
var questionFiles = [];
questionFiles = readingFilesandPopulatingIntoArray(questionFolder); \\how to do this?
var folderSize = questionFiles.length ;
randomNumber = Math.floor(Math.random() * folderSize);
randomQuestion = questionFiles[randomNumber]; 
$("#question").load(randomQuestion);
正如所评论的那样,获取远程目录内容的唯一方法是对其进行索引

当然,Apache有自己的目录扫描器,如果配置为ok,它可以呈现包含内容的HTML页面。然后您可以获取该索引并循环其中的文件链接

但是GitHub页面不会生成这样的索引,所以您需要自己生成它。要做到这一点,您需要在页面的构建/部署过程中进行(我们不知道)。在那里,您可以添加一个NodeJS脚本(或者您喜欢使用的任何其他语言,比如普通的
bash
脚本),例如,使用来获取
/questionsBank/
目录中的文件列表,并生成一个文件以某种方式保存它(例如,包含数组的JSON文件)


最后,在构建过程中,您可以通过
import
将它放在某个地方,或者像获取包含JSON的任何其他URL(或您决定使用的任何其他格式)一样获取它,将其直接包含在代码中.

作为构建过程或预提交钩子的一部分,在./questionsBank/中生成一个index.js,它是文件夹中所有文件名的json(或手动创建),然后使用ajax获取它,然后执行随机索引以挑选项目。gh页面是静态的,任何类似的操作都需要在之前完成pushing@LawrenceCherone,在浏览器环境中无法从文件夹中读取文件名?这在任何桌面脚本中都很容易完成。您的权利,不,除非您公开一个排序列表,否则无法从浏览器中读取服务器上目录的内容您正在制作一个web应用程序,您的文件应该在服务器中,并由您的代码通过ajax请求,相反,如果您正在构建一个桌面应用程序,您可以使用node.js中的fs模块打开文件。谢谢,您只编写了桌面java/python代码,并没有料到在编写web内容时会遇到这样的困难。这并不是那么困难:
const response=wait fetch(`${host}/questionsBank/index.json`);const index=await response.json();const randomResponse=wait fetch(索引[Math.floor(Math.random()*index.length)]);const randomContent=randomResponse.text()