Javascript Chrome扩展:在iframe中加载外部页面并读取innerHTML

Javascript Chrome扩展:在iframe中加载外部页面并读取innerHTML,javascript,iframe,google-chrome-extension,Javascript,Iframe,Google Chrome Extension,我找到了一些例子并拼凑了一个扩展。但我一直没能成功。总是出现一些错误,现在我放弃了 有人能给我一个完整的例子说明如何做到这一点(如果可能的话) 我想加载iframe的原因是,如果我使用XMLHttpRequest来读取页面,我将无法获得用Javascript生成的HTML 请参阅下面的代码 manifest.json: { "manifest_version": 2, "name": "Example ...", "description": "Will let you get b

我找到了一些例子并拼凑了一个扩展。但我一直没能成功。总是出现一些错误,现在我放弃了

有人能给我一个完整的例子说明如何做到这一点(如果可能的话)

我想加载iframe的原因是,如果我使用XMLHttpRequest来读取页面,我将无法获得用Javascript生成的HTML

请参阅下面的代码

manifest.json:

{
  "manifest_version": 2,

  "name": "Example ...",
  "description": "Will let you get browser notifications from ...",
  "version": "1.0",
  "content_security_policy": "script-src http://example.com 'self' ; object-src 'self'",

  "browser_action": {
    "default_icon": "icon.png"
  },
  "permissions": [
    "http://example.com/*",
    "notifications",
    "cookies",
  ],
    "background": {
    "page": "background.html"
  }
}
background.html:

<html>
    <head>

    </head>
    <body>
        <iframe src="http://www.example.com/"></iframe>
    </body>
</html>


我尝试过通过JavaScript创建iframe,但没有任何区别。

等待加载iframe,然后使用jQuery获取其内容:

$('iframe').load(function() {
   $(this).contents().find('html').html();
});

什么是
XmlHttpConnection
?写一个包含完整扩展名的答案会做很多脏活。我在做这类事情时有很多经验,所以如果你发布了一些不起作用的代码,我很乐意指出解决方案@奥卡曼:我会用一些代码更新我的问题。抱歉,如果这需要大量工作,我看到的示例没有那么多代码。因此我认为有人有一个简单的解决方案不会跨域工作(而且它保证是跨域的)@Xan它从Chrome扩展运行,它肯定可以跨域工作(你控制响应头,你可以允许)。不,虽然您可以跨域发送请求,但在加载页面时不会免除您的正常web安全性。Chrome将拒绝读取
.contents()