使用Javascript

时间:2016-11-22 21:37:02

标签: javascript arrays javascript-objects

我有一个在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>

2 个答案:

答案 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)

希望这有帮助