Получение URL-адреса из местоположения файла с использованием Javascript

У меня есть слайдер, который использует HTML-файл в кадре на SharePoint. Слайды меняются довольно часто, и этот слайдер выкатывается еще 10 раз. Я хочу создать рабочий процесс, чтобы конечный пользователь мог изменить слайдер / ссылку. Я создал функцию ниже, которая динамически создает мои "li" и "a" и работает. В конце концов я буду использовать переменные, чтобы получить "SRC" и т. Д.

У меня вопрос, я хотел бы сделать "для каждого", чтобы пройти через указанный каталог и захватить имена файлов, чтобы я мог создать новые "li" и "a" для каждого файла и получить свой "src" для " "динамически также.

Если я не сказал это правильно, я прошу прощения. Я новичок в 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 ответа

Если вы хотите сделать это на стороне клиента, к сожалению, как ответил @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)

Надеюсь это поможет

Это невозможно! Вы не можете получить доступ к клиентской файловой системе по очевидной причине безопасности.

Другие вопросы по тегам