javascript - 如何使用javascript / jquery获取同一项目的文件夹中包含的子文件夹的名称
问题描述
如标题中所述,我必须取项目文件夹中包含的子文件夹的名称
•project
|-JS
|- •subfolders of "JS" that i need to take name•
|-index.html
|-jquery.js
|-style.css
这是我的目录的方案。“JS”目录中的文件夹数量是动态的,所以我想创建这个文件夹的列表,以便仅使用 javascript 或 jquery 控制我的子项目,但不断出现 CORS 源错误我不知道如何继续
我对我的代码不感兴趣,所以如果你有更好的代码,我会毫不留情地改变它
jQuery.js
$(document).ready(function(){
//function to see if can create HttpObject
function makeHttpObject() {
try {return new XMLHttpRequest();}
catch (error) {}
try {return new ActiveXObject("Msxml2.XMLHTTP");}
catch (error) {}
try {return new ActiveXObject("Microsoft.XMLHTTP");}
catch (error) {}
throw new Error("Could not create HTTP request object.");
}
console.log(typeof(makeHttpObject()));
var xhr = makeHttpObject();
xhr.open("GET", "prova_jquery/JS");
//xhr.setRequestHeader("Content-Type", "text/plain;charset=UTF-8");
xhr.setRequestHeader("Access-Control-Allow-Origin", "*");
//the error comes here
var text = {"command":"PUSH"};
xhr.send(text);
console.log(getSubDir());
var filenames=[], foldernames=[];
$.get("file:///prova_jquery/JS",function(response){
document.write(response);
getNames();
});
function getNames()
{
var files = document.querySelectorAll("a.icon.file");
var folders = document.querySelectorAll("a.icon.dir");
files.forEach(function(item){filenames.push(item.textContent)})
folders.forEach(function(item){foldernames.push(item.textContent.slice(0,-1))})
console.log(filenames);
console.log(foldernames);
}
/*var fileNames = new Array();
$.ajax({
url: "./JS/",
success: function(data){
$(data).find("td > a").each(function(){
if(openFile($(this).attr("href"))){
fileNames.push($(this).attr("href"));
}
});
}
});
console.log(fileNames);
/*function openFile(file) {
var extension = file.substr( (file.lastIndexOf('.') +1) );
switch(extension) {
case 'jpg':
case 'png':
case 'gif': // the alert ended with pdf instead of gif.
case 'zip':
case 'rar':
case 'pdf':
case 'php':
case 'doc':
case 'docx':
case 'xls':
case 'xlsx':
return true;
break;
default:
return false;
}
};*/
});
//those function are only for test if the list work
function getSubDir()
{
var loc = window.location.pathname;
console.log(loc);
var dir = loc.substring(0, loc.lastIndexOf('/'));
dir+="/JS";
var _loc = dir.split("/");
var dim=_loc.length;
//document.getElementById("programmi").innerHTML += dim + " + ";
var _dir = _loc.slice(dim - 2, dim);
var cartella=_dir[0]+"/"+_dir[1];
//document.getElementById("programmi").innerHTML = "_dir: "+cartella;
return cartella;
}
function listaProgetti(id)
{
var _id="#"+id;
$(_id).append("<br><ul>");
for(var i=0; i<getSubDir().length; i++)
{
$(_id).append( "<li><a href="+getSubDir()+">"+getSubDir()+"</a></li>");
}
$(_id).append("</ul>");
}
function dirname(path) {
return path.match(/.*\//);
}
function basename(path) {
return path.replace(/.*\//, '');
}
索引.html
<!DOCTYPE html>
<head>
<title>Lista progetti</title>
<link rel="stylesheet" href="style.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="jquery.js"></script>
<link href="style.css" rel="stylesheet" type="text/css" media="screen" />
</head>
<body id="home">
<div>Here the list</div>
<p id="programmi" title="programmi">
<!--this "p" may contain the list-->
<p>
</body>
</html>
这是我得到的错误,我不知道要超越它
CORS 策略已阻止
'file:///project/JS'
从源 访问 XMLHttpRequest :跨源请求仅支持协议方案:http、data、chrome、chrome-extension、https。'null'
解决方案
推荐阅读
- r - 如何提取特定字符串之后的所有内容?
- python - C++ 是否有 tf.lite.Interpreter.get_input_details 的等价物?
- google-sheets - 使用 SUM 和 INDEX 将公式转换为 ARRAYFORMULA 问题
- python - Pygame 模块无法播放音频
- html - html中的关键事件不会抛出函数
- c# - 尝试使用 Dapper.SimpleCRUD 插入泛型时出错
- java - HttpUrlConnection.getOutputStream 在第二次打开同一连接时导致“握手消息序列冲突,11”异常
- sql-server - 外键引用同一表中的主键的表上的海量数据加载
- office365api - 在 Office 365 服务通信 API 的筛选器中使用 OR 或按多个 ID 筛选
- java - 将参数传递给自定义映射函数