2011-02-25 65 views
0

本质上,我创建了一个Chrome扩展,需要读取由网站发送到其内部服务器之一的请求,并返回一个JSON对象,我希望我的扩展能够读取。是否可以在Chrome扩展中访问外部XMLHttpRequests?

我想用我发现的东西(可能在这里,我做了很多研究,我有点忘记了)。这将允许我看到任何XMLHttpRequest.open调用,但它出现在使用本地XMLHttpRequest的扩展中。


XMLHttpRequest.prototype.realOpen = XMLHttpRequest.prototype.open; 

var myOpen = function(method, url, async, user, password) { 
    this.onreadystatechange = function() 
    { 
     if (this.readyState == 4) 
      alert(this.responseText); 
    } 
    //call original 
    this.realOpen (method, url, async, user, password); 
} 

//ensure all XMLHttpRequests use our custom open method 
XMLHttpRequest.prototype.open = myOpen; 

我想要的是使用这个xhr来触发我的扩展到行动,任何人有任何想法我可以做到这一点?

回答

1

查看here了解有关跨源XMLHttpRequests和示例的信息。您需要允许您的扩展程序从特定域(或“http:// * /”)请求。

+0

我已经这样做了,并且在mainfest文件中允许“https:// * /”,“http:// * /”,该扩展仍然继续使用本地版本。我所做的更改似乎只影响背景页面,或者......没有任何影响。就好像我在扩展脚本本身中这样做,更改从不粘。 – Fyrecrypts 2011-02-25 20:30:42

相关问题