-1

我正在创建一个 firefox 插件并使用 javascript。我正在使用 XMLHttpRequest 从远程网站获取动态内容并将其存储到文件中以供稍后解析。但在 responseText 我没有收到任何动态内容。在存储我得到的信息后,只有没有动态内容的 html 页面。

代码:

var res="";

var req = new XMLHttpRequest();

req.onload = function(){

res=this.responseText;
}   

req.open("GET","www.ebay.com", true);

req.send();
4

2 回答 2

1

您只能在自己的域下获取远程内容。这是一个安全问题。您可以使用JSONP,但对于 ebay,我不知道是否有任何可用的 json 内容。有关更多信息,请查看: http: //www.devproconnections.com/article/aspnet2/ajax-cross-domain-142169

如果您使用带有 Chrome 扩展程序或 Firefox 插件的 Javascript,那么您必须在清单文件中设置权限才能访问您想要的那些网站。

于 2013-03-17T02:54:17.137 回答
1

由于同源策略无法完成,因此您只能请求源域内的内容。

以下是一些可能对您有帮助的链接:
Getting CORS Working
Cross-domain Ajax with Cross-Origin Resource Sharing


编辑:
由于您要从网站获取的内容是由 生成的Ajax,因此无法获取动态内容。网站上的dynamic content呈现是在浏览器加载 html 页面之后,因此可以触发 Javascript 事件以dynamic content通过Ajax。您可以获取 html 页面,但您没有获取 Javascript 文件。因此,无法获得动态内容。

对不起,我的英语不好

于 2013-03-17T03:07:31.207 回答