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

时间:2015-06-19 17:14:12

标签: javascript iframe google-chrome-extension

我找到了一些例子并拼凑了一个扩展名。但我从未设法让它发挥作用。它总是出现一些错误,现在我放弃了。

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

我想加载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,但这没有任何区别。

1 个答案:

答案 0 :(得分:-1)

等待iframe加载,然后使用jQuery抓取它的内容:

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