上述代码中,取消跳转打开文件夹,而是打开一个新的页面,并显示点击的文件夹下的目录和文件
时间: 2024-04-08 17:30:38 浏览: 10
如果您希望在点击文件夹名称时打开一个新页面,并显示该文件夹下的目录和文件,可以使用以下修改后的代码:
```html
<!DOCTYPE html>
<html>
<head>
<title>测试</title>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
$(document).ready(function() {
refreshTable();
});
function refreshTable() {
$.ajax({
url: "folder_contents.php", // 后端获取文件夹内容的接口
success: function(data) {
$("#tableContent").empty();
data.forEach(function(folder) {
var folderName = folder.name;
var row = "<tr><td><a href='javascript:void(0)' onclick='openFolder(\"" + folderName + "\")'>" + folderName + "</a></td></tr>";
$("#tableContent").append(row);
});
}
});
}
function openFolder(folderName) {
window.open("folder_contents.html?folder=" + encodeURIComponent(folderName), "_blank");
}
</script>
</head>
<body>
<h1>测试</h1>
<table>
<thead>
<tr>
<th>文件夹名称</th>
</tr>
</thead>
<tbody id="tableContent">
<!-- 表格内容将通过 JavaScript 动态添加 -->
</tbody>
</table>
</body>
</html>
```
上述代码中,通过修改`refreshTable()`函数中的AJAX请求,后端返回的数据应该是一个包含文件夹名称的数组。然后,将每个文件夹名称生成表格的一行,并通过`openFolder()`函数来打开新页面。
在新页面中,您可以使用以下代码来获取URL参数并显示相应文件夹的内容:
```html
<!DOCTYPE html>
<html>
<head>
<title>文件夹内容</title>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
$(document).ready(function() {
var folderName = decodeURIComponent(getUrlParameter("folder"));
$("#folderName").text(folderName);
$.ajax({
url: "folder_contents.php?folder=" + encodeURIComponent(folderName), // 后端获取文件夹内容的接口
success: function(data) {
$("#folderContent").empty();
data.forEach(function(file) {
var itemName = file.name;
var itemRow = "<tr><td>" + itemName + "</td></tr>";
$("#folderContent").append(itemRow);
});
}
});
});
function getUrlParameter(name) {
var urlParams = new URLSearchParams(window.location.search);
return urlParams.get(name);
}
</script>
</head>
<body>
<h1>文件夹内容</h1>
<h2 id="folderName"></h2>
<table>
<thead>
<tr>
<th>目录和文件</th>
</tr>
</thead>
<tbody id="folderContent">
<!-- 表格内容将通过 JavaScript 动态添加 -->
</tbody>
</table>
</body>
</html>
```
在上述代码中,通过`getUrlParameter()`函数获取URL中的`folder`参数,并将其显示在页面上的`<h2 id="folderName"></h2>`元素中。然后,通过AJAX请求后端的`folder_contents.php`接口来获取该文件夹下的目录和文件,并将其动态添加到页面的表格中。
请注意,上述示例中的路径"folder_contents.php"和文件夹的命名方式"folder_1"等仅作为示例,请根据您的实际情况进行相应的调整和修改。同样地,您可能需要设置后端接口的CORS(跨域资源共享)策略。