我有一个在SharePoint框架中使用html文件的滑块。幻灯片经常更换,这个滑块正在推出10次。我想创建一个工作流程,以便最终用户可以自己更改slider / href。我创建了下面的函数,动态创建我的“li”和“a”并且正在工作。最终我将使用变量来获得“src”等。
我的问题是我想做一个“for each”来运行指定目录并获取文件名,这样我就可以为每个文件创建一个新的“li”和“a”并拉入我的“src”动态地为“a”。
如果我没有正确说出来,我道歉。我是JavaScript和编程的新手。我花了很多时间试图弄清楚这一点。任何协助/解释/指示都将不胜感激。
<!DOCTYPE html>
<html>
<head></head>
<body>
<script>
document.body.onload = addElement;
function addElement() {
//run through a directory and grab URLs
// create a new li element
var newLi = document.createElement("li");
//create img
var newImg = document.createElement("img");
newImg.setAttribute("src", "Intranet_643x296.jpg");
newImg.setAttribute("height", "100%");
newImg.setAttribute("border-radius", "10px");
newImg.setAttribute("alt", "Einstein");
// Set its contents:
document.getElementById("ulimage").appendChild(newImg);
}
</script>
<ul id="ulimage"></ul>
</body>
</html>
答案 0 :(得分:0)
这是不可能的! 出于明显的安全原因,您无法访问客户端文件系统。
答案 1 :(得分:0)
如果你想在客户端这样做,不幸的是@erwan已经回答了,那是不可能的。
另外,我假设目录在服务器上?
如果是这样,那么只需获取所有文件名服务器端,然后您就可以在javascript中使用它们。
更新
如果您使用的是php,那么这样的内容将获取特定目录中的所有内容
// Directory
$directory = $_SERVER['DOCUMENT_ROOT'] . '/images';
chdir($directory); // change directory (not necessary but retrieves only filenames)
// Get all files in directory
$images = glob('*'); // returns an array that you can use in a foreach loop
// also you should probably lookup the glob function (see below) to see the options
请参阅glob Glob的文档 如果您只想选择特定的扩展名,请使用模式
glob('*.{jpg, png}', GLOB_BRACE)
希望这有帮助