屏幕抓取网站上的数据

时间:2011-12-21 17:00:09

标签: javascript google-chrome google-chrome-extension google-chrome-devtools

我正在构建我的第一个chrome扩展程序并尝试在我的Google Chrome扩展程序上显示一些外汇费率。但我发现自己被跨域控制不允许Access-Control-Allow-Origin问题。这是一种方法使用jquery从跨域网页中删除数据。对于您的信息,我所指的第三方网页不支持webservice :(

请在下面找到我尝试在我的Chrome扩展程序中使用的代码,以废弃当前的外汇汇率。请帮忙。提前致谢

$.ajax({
 url: "http://someCrossDomain.forexrate.html",
 dataType: 'text', 
 success: function(data) { 
 console.log($("h2:first").text()); 
} });

3 个答案:

答案 0 :(得分:1)

确保您在扩展程序清单中设置了主机permissions

答案 1 :(得分:1)

对于打包的应用程序,您可以执行ajax请求,而不会遇到跨站点访问限制。我不是100%确定它是否需要,但如果您仍然遇到问题,请确保将http://*/添加到清单中的权限部分(如果您只需要拨打电话,则可以进一步限制某些网站)。对于托管应用程序,如果没有协作服务器(特别允许)或在您自己的服务器上使用代理,则无法执行跨站点请求。

答案 2 :(得分:0)

要绕过跨站点,最好的选择(IMHO)是编写一个Web服务调用来处理请求,然后从您的jQuery调用中调用它。但是,如果你不能写一个Web服务来处理更大的泡菜。