Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.09.2018, 11:45
Аватар для madeas
Профессор
Отправить личное сообщение для madeas Посмотреть профиль Найти все сообщения от madeas
 
Регистрация: 13.04.2018
Сообщений: 232

Как достать файлы из ФМ?
Привет всем!
Подскажите, можно ли через js реализовать подобную выборку?

Есть сайт и файловый менеджер (ФМ) на поддомене, в котором находится, например, 10 изображений с разными именами.
Чтобы разместить их на сайте, достаточно прописать в html
<div class="images">
      <div class="grid-item"><img src="120x120" alt=""></div>
      <div class="grid-item span-2"><img src="240x240" alt=""></div>
      <div class="grid-item"><img src="120x120" alt=""></div>
      <div class="grid-item"><img src="120x120" alt=""></div>
      <div class="grid-item"><img src="120x120" alt=""></div>
      <div class="grid-item span-2"><img src="240x240" alt=""></div>
      <div class="grid-item"><img src="120x120" alt=""></div>
      <div class="grid-item"><img src="120x120" alt=""></div>
      <div class="grid-item"><img src="120x120" alt=""></div>
      <div class="grid-item"><img src="120x120" alt=""></div>
    </div>


Но, чтобы вставить путь к картинке я использую скрипт
document.querySelectorAll(".images img").forEach(el => el.src = 'http://поддомен.сайт.ru/img/' + el.getAttribute('src'));

и в html мне достаточно прописать оставшуюся часть пути

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <title>Document</title>
  </head>
  <body>
    <style>
      .images {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
        grid-gap: 10px;
        grid-auto-rows: minmax(120px, auto);
        grid-auto-flow: dense;
      }
      .span-2 {
        grid-column-end: span 2;
        grid-row-end: span 2;
      }
      .span-3 {
        grid-column-end: span 3;
        grid-row-end: span 2;
      }
      .grid-item {
        background-color: #ccc;
      }
    </style>

    <div class="images">
      <div class="grid-item"><img src="120x120" alt=""></div>
      <div class="grid-item span-2"><img src="240x240" alt=""></div>
      <div class="grid-item"><img src="120x120" alt=""></div>
      <div class="grid-item"><img src="120x120" alt=""></div>
      <div class="grid-item"><img src="120x120" alt=""></div>
      <div class="grid-item span-3"><img src="240x240" alt=""></div>
      <div class="grid-item"><img src="120x120" alt=""></div>
      <div class="grid-item"><img src="120x120" alt=""></div>
      <div class="grid-item"><img src="120x120" alt=""></div>
      <div class="grid-item"><img src="120x120" alt=""></div>
    </div>

    <script>
      document.querySelectorAll(".images img").forEach(el => el.src = 'https://via.placeholder.com/' + el.getAttribute('src'));
    </script>

  </body>
</html>

Сайт конечно ругается, что нет картинок, так как они на поддомене, но суть не в этом. Как можно создать массив или какие-то функции, чтобы скрипт доставал файлы напрямую из фм? Т.е. я создам
document.querySelectorAll(".images img").forEach(el => el.src = 'https://via.placeholder.com/' + el.getAttribute('src'));

и, после
el.src = 'https://via.placeholder.com/'
скрипт автоматически подставит [1, 2, 3, 4,...]. Или все равно придется писать название каждого изображения?
Реально ли это?
Ответить с цитированием
  #2 (permalink)  
Старый 25.09.2018, 12:11
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Разные имена! И почему не сразу их прописать в коде без привлечения JS?
Ответить с цитированием
  #3 (permalink)  
Старый 25.09.2018, 13:35
Аватар для madeas
Профессор
Отправить личное сообщение для madeas Посмотреть профиль Найти все сообщения от madeas
 
Регистрация: 13.04.2018
Сообщений: 232

laimas,
сейчас так и сделано. Т.е. я написал, например, <div class="grid-item"><img src="120x120" alt=""></div> и скриптом определил путь, откуда он начинается.
Но идея немного в другом. Хотя, это скорее всего уже вопрос в php
Ответить с цитированием
  #4 (permalink)  
Старый 25.09.2018, 14:32
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Не совсем понял, куда подставлять 1,2,...
Но принцип такой.
<div class="images">
      <div class="grid-item"><img src="120x120" alt=""></div>
      <div class="grid-item span-2"><img src="240x240" alt=""></div>
      <div class="grid-item"><img src="120x120" alt=""></div>
      <div class="grid-item"><img src="120x120" alt=""></div>
      <div class="grid-item"><img src="120x120" alt=""></div>
      <div class="grid-item span-3"><img src="240x240" alt=""></div>
      <div class="grid-item"><img src="120x120" alt=""></div>
      <div class="grid-item"><img src="120x120" alt=""></div>
      <div class="grid-item"><img src="120x120" alt=""></div>
      <div class="grid-item"><img src="120x120" alt=""></div>
    </div>

    <script>
      document.querySelectorAll(".images img").forEach((el,i) => el.src = 'https://via.placeholder.com/' + (i + 1) + el.getAttribute('src'));
    </script>
Ответить с цитированием
  #5 (permalink)  
Старый 25.09.2018, 16:40
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от madeas
Но идея немного в другом.
И в чем же заключается ваша идея, если имена файлов уникальные и каждый файл нужно поместить на свое место. А вы при этом просто пуляете в путь файлу текущую итерацию, у вас что они так гарантированно расположены на сервере?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как достать кол-во расшариваний на vk.com и ok.ru syegorius Events/DOM/Window 0 18.08.2015 21:55
Как достать данные из JSON массива? Dimaz jQuery 15 27.11.2012 21:58
Подскажите как достать значение из асс. массива posta Серверные языки и технологии 7 25.11.2012 00:38
Как сделать как в JQ? faforty Общие вопросы Javascript 8 14.11.2011 01:35
Как достать содержимое между тегами FreeStyler Общие вопросы Javascript 2 23.04.2010 01:08