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

    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
    Ответ написан
    Комментировать