Javascript 给定url,脚本如何找到加载的资源?

Javascript 给定url,脚本如何找到加载的资源?,javascript,html,css,node.js,Javascript,Html,Css,Node.js,给定url(例如,localhost:8000),脚本如何找到浏览器将加载的资源(通过HTTP请求) 例如,假设/路由响应为: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Test</title> <link rel="stylesheet" href="/css/st

给定url(例如,
localhost:8000
),脚本如何找到浏览器将加载的资源(通过HTTP请求)

例如,假设
/
路由响应为:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Test</title>
        <link rel="stylesheet" href="/css/style.css">
    </head>
    <body>
        some content
        <img src="/foo.png" alt="">
    </body>
</html>

试验
一些内容
将加载的资源包括:

  • /css/style.css
  • foo.png
这很简单(只是一个使用via
cheerio
的dom迭代),但我认为它不是本地的

响应HTML中的迭代将不适用于附加CSS
@import
s和
背景图像

使用CSS、图像以及浏览器加载的其他资源获取列表的本机方法是什么

可能是通过?

像建议的那样,缺少的关键字是无头浏览器。我觉得这很简单,通过。然而,下面你可以看到一个小例子


@adeneo
网页
似乎不可用。。。然而,这是一个有趣的答案。仍然需要更多信息。我想说的是,如果要包含@imports和XMLHttpRequest等内容,您可能需要一个无头浏览器来实际加载页面,以便准确查看加载的资源。这可能会更好,而且可能是本机方式。你能给出一个答案吗?@pjs嗯,我从来不喜欢回答像你这样的问题。:-)也许我以后会在需要的地方回复你。
// Dependencies
var Browser = require("zombie");

// Load localhost:9000
Browser.localhost("localhost", 9000);

// Load the page from localhost,
// including js, css, images and iframes
var browser = new Browser({
  features: "scripts css img iframe"
});

// Open the page and list the resources
browser.visit("/", function(error) {
    console.log(browser.resources.map(function (c) {
        return c.request.url;
    }));
});