在Google Chrome扩展程序上打开外部网站

时间:2013-05-30 01:34:11

标签: jquery ajax google-chrome

所以,我正试图掌握谷歌Chrome扩展程序。

我已经完成了50%的剧本,但我一步到位了:

如何在popup.html上加载外部网站 - 例如:www.mysite.com/page.php?

当我使用iFrame时,我只取得了成功,但是,这是丑陋和不安全的...... :(

有没有办法用jquery(ajax)来做?

提前致谢。


所以,这就是我的manifest.json:

{
  "manifest_version": 2,

  "name": "XCLickF",
  "description": "X file",
  "version": "1.0",
  "background": { "scripts": ["jquery-1.9.1.min.js","background.js"] },

  "permissions": [
        "http://*/*",
        "https://*/*"
    ],
  "browser_action": {
    "default_icon": "icon.png",
"default_title": "XMail",
    "default_popup": "popup.html"
  }
}

我的background.js是怎样的:

function poll() {
    var xhr = new XMLHttpRequest();
    xhr.onreadystatechange = handleStateChange; // Implemented elsewhere.
    xhr.open("GET", 'http://disqus.com/', false);
    xhr.send(null);
    console.log(xhr.responseText);
}

function handleStateChange() {
    if (this.readyState == 4) {
        var resp = JSON.parse(this.responseText);
        updateUi(resp);
    }
}

function updateUi(json) {
    console.log("JSON: ", json);
}

1 个答案:

答案 0 :(得分:0)

实际上你可以使用jquery ajax(或xhr)获取该页面的所有html。获得html后,你必须设置/执行js'。此外,您还可以重定向到您的网页(但主要是它可以从谷歌商店禁止)您不能使用iframe显示页面。

$.ajax({
  url: 'www.google.com',
  success: function(data) {
    console.log(data); // data gives all of html
  }
});

此外,您可以跨域免费iframe插件,这可能有助于您的工作。

Iframe Height Jquery Plugin

Iframe Resizer