@B1dloKoder

Можно ли получить sources страницы?

Хочу получить все подключенные js и css файлы к странице. Можно ли это сделать?
Если да - каким посредством?
Мне нужно получить все подключенные к странице файлы и потом вывести их код.
К слову, мне необходимо(!) использовать фреймы, поэтому желательно, чтобы захватывало файлы со всем html страницы
  • Вопрос задан
  • 80 просмотров
Решения вопроса 1
potapchino
@potapchino
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Document</title>

    <link rel="stylesheet" href="/src/style.foo.css" />
    <script src="src/script.foo.js"></script>
  </head>
  <body>
    <div id="nest"></div>

    <link rel="stylesheet" href="/src/style.bar.css" />
    <script src="src/script.bar.js"></script>

    <script>
      const nest = document.querySelector("#nest");
      const elems = document.querySelectorAll('link[rel="stylesheet"], script[src]');

      elems.forEach(el => {
        fetch(el.src || el.href)
          .then(r => r.text())
          .then(src => {
            const pre = document.createElement("pre");
            const hr = document.createElement("hr");

            pre.innerText = src;
            nest.appendChild(pre);
            nest.appendChild(hr);
          });
      });
    </script>
  </body>
</html>


ссылку на document у iframe можно получить так:
const myIframeDocument = document.querySelector('iframe').contentDocument;

myIframeDocument.querySelectorAll('link[rel="stylesheet"], script[src]');
//ну и дальше тоже самое...

только если iframe на другом домене, тогда будет блокировка запроса из-за cors'a
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
svistiboshka
@svistiboshka
живые веб интерфейсы
document.documentElement.innerHTML;
а потом парсишь link[href] script[src] и iframe[src]
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы