通过Chrome扩展程序获取已加载URL的源代码?

4
我正在编写一个Chrome扩展程序,需要能够分析特定HTML页面的源代码以及它加载的所有外部Javascript和CSS文件,而无需通过XHR请求再次加载它们 - 也就是说,它将分析浏览器加载的运行副本。
这是否可能?我知道可以分析特定打开标签页的源代码,但是虽然这些Javascript文件将由浏览器加载,但它们显然不会占用自己的标签页或窗口(只有加载它们的HTML会被占用)。请帮忙!

我建议你开始研究开发者控制台,因为我认为它可以满足你的需求,并且它是用纯HTML、CSS和JavaScript编写的。 - Some Guy
1个回答

1

默认情况下,如果不使用chrome.experimental.devtools.resources API,是无法获取资源源代码的。

但是,当启用实验性API时,可以使用--enable-experimental-extension-apis开关执行以下操作来检索每个资源的源代码:

chrome.experimental.devtools.resources.onFinished.addListener(function(resource) {
  resource.getContent(function(content, encoding) {
    if(encoding !== 'base64') {
      alert(content);
    }
  });
});

非常感谢,但有没有一种方法可以在所有Chrome浏览器上运行?这个插件需要能够被所有人使用。 - Nadim Kobeissi
@kaepora:很遗憾,在该特定API被释放出来之前,无法使用。但是,您可以检测API是否不可用,并指导用户如何启用它们。 - Andrew Moore

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接