我想做以下事情:从多个站点获取新闻,使用 jQuery 选择器解析它们的内容并在一页上显示它们。
jQuery怎么能做到这一点?
谢谢。
我想做以下事情:从多个站点获取新闻,使用 jQuery 选择器解析它们的内容并在一页上显示它们。
jQuery怎么能做到这一点?
谢谢。
出于安全原因,JavaScript(以及 jQuery)的 AJAX 方法只能从与您的站点位于同一域的 URL 中检索数据。
然而,有一些解决方法。您可以使用服务器端脚本为您下载远程内容 - 将其视为代理。或者,您可以查看JSONP,但远程站点需要提供它。
它不能使用纯 jQuery 或 JavaScript,因为您无法从与运行脚本的域不同的域中获取内容。这是防止跨站点脚本的安全措施
但是在这里查看一个可能的解决方案:跨站点脚本(XSS)
除非您的新闻来自明确提供按照您想要的内容获取内容的机制的网站,否则您无法从客户端(即浏览器)执行此操作。但是,您可以从服务器获取内容,然后以您喜欢的原始状态将其交给您的客户端。
就 javascript 而言,您无法从其他页面获取内容,除非他们使用 API 明确共享它。
您可以做的是在服务器端使用cURL从其他网站获取数据,然后对其进行操作 - 服务器端并提供服务。
注意:获取属于他人的内容 - 未经他们同意对其进行操作并将其呈现为您自己的内容是自找麻烦。
与其他回复相反,脚本块源不会被跨域访问阻止,因此,如果您将脚本块动态添加到页面的标题并将站点的结果输出创建为回调(基本上将其包装在函数调用中,并在您自己的代码中处理 taht 函数)然后您可以访问其他域上的内容 - 另一方面是您需要该站点在回调中向您呈现数据,否则它不起作用。
如果您尝试从中获取新闻的网站支持 rss 提要,那么您可以使用 jFeed 等 jquery 插件来检索 rss,然后您可以将其显示在您自己的网站上。
不过,我建议您设置一个网络服务(在 asp.net、php 等中),在您想要的网站中收集 rss 或抓取元标记,然后使用jquery.get()检索所有新闻