从googlechrome扩展程序获取页面的源代码

时间:2011-01-18 21:01:14

标签: javascript google-chrome-extension

我正在为googlechrome写一个扩展程序,以显示网站上的项目列表。我遇到的问题是我无法获取我正在寻找的页面的源代码。当我尝试将它放在iframe中时,它的代码会改变窗口的位置。 XMLhttpRequest也只能在您自己的域上使用。有什么方法可以通过javascript从googlechrome扩展程序获取网站的源代码吗?

这是清单:

{
  "name": "My First Extension",
  "version": "1.0",
  "description": "The first extension that I made.",
  "browser_action": {
    "default_icon": "icon.png",
    "popup": "popup.html"
  },
  "permissions": [
    "http://api.flickr.com/",
    "http://search.twitter.com/"
  ]
 }

2 个答案:

答案 0 :(得分:1)

所有内容都详细描述here。长话短说:

  1. 在清单中声明域权限。
  2. 从后台页面发出跨域请求。
  3. 如果需要,使用message passing将结果传输到内容脚本。
  4. <强>更新

    以下是适用于我的代码:

    清单 - 与您的完全一样。

    popup.html:

    <html>
    <head>
    <script>
        var xhr = new XMLHttpRequest(); 
        xhr.onreadystatechange = function() { 
            if (xhr.readyState == 4) { 
                alert(xhr.status); 
                if (xhr.status == 200) { 
                    alert(xhr.responseText); 
                } 
            } 
        } 
        var url = "http://search.twitter.com/trends/current.json?exclude=hashtags"; 
        xhr.open("GET", url, true); 
        xhr.send();
    
    </script>
    </head>
    <body></body>
    </html>
    

答案 1 :(得分:0)

你可以在iframe中运行该网站,然后使用一些javascript来运行:

sourceCode=[iframename].document.body.parentNode.innerHTML;
sourceCode='<html>'+sourceCode+'</html>'

我不知道这是否跨域工作