可以列出使用JavaScript加载到网页上的外部资源吗?

时间:2013-08-09 23:12:47

标签: javascript

我希望有一个时间间隔来跟踪当前页面上正在加载的项目。例如,假设我有一个加载css文件的页面,一些脚本,图片,一个flash视频播放器,然后flash视频播放器加载一个视频文件。加载的元素可能来自或可能不是与页面相同的域。其中一些可能通过ajax或flash加载,而页面上没有标记。我想跟踪每个并创建一个存储有关它们的信息的数组。

我想要一个类似于这个伪代码的脚本:

var all_external_resources = array();

setInterval(function() {
  var external_items = list_external_resources();
  for (var i in external_items) {
    if (all_external_resources.indexOf(external_items[i]) < 0)
      all_external_resources.push(external_items[i]);
  }
}, 100);

这可能吗?

1 个答案:

答案 0 :(得分:9)

您可以使用Resource Timing来检索资源名称:

var resources = window.performance.getEntriesByType("resource");
resources.forEach(function (resource) {
    console.log(resource.name);
});

它是Navigation TimingCan I use...)的扩展,并且在许多浏览器中都受支持。