2010-05-13 120 views
1

有没有办法使用iframe或其他方法显示另一个网站上的命名div?从其他网站显示div

我想在一些数据拉从政府网站到谷歌地图,当他们点击点我想从该网页上显示的div的一个方面的信息。

回答

1

我假定您确定该div的ID在该其他网站。

如果是。使用Jquery Ajax将网站内容拉入您网站的隐藏iframe中。然后将div-in-question的内容提取到某个变量中,然后就可以将它用于您的目的(解析html表格数据或执行任何操作)

放弃iframe的内容,以便您没有不必要的项目你的页面的DOM。

+1

我尝试过类似的东西,发现Firefox将不允许你访问从其他网站获取的iframe内容。 (同样的跨域限制再次)不知道我是否做错了什么。 – 2010-05-13 15:54:00

1
  1. Ajax调用
  2. 内务服务从页面刮HTML
  3. 使用XPath选择/ SGML解析器股利
  4. 返回Ajax调用处理程序
  5. 替换的内容您div

但是还有其他问题,即刮他人的网站的内容wi他们的许可是坏的。

他们可能会或可能不会在意,但你仍然应该寻求权限,或者有一天你会发现你的网站服务器从他们的网站列入黑名单。或者更糟......特别是政府网站。

你或许应该去搞清楚如何正确地得到所需要的数据(也许有一个API的地方),然后使你自己的版本。

9

使用jQuery,你应该能够正好与负载功能。这里是一个小例子,一个名为test.html的网页上获得ID为“容器”的容器:

$('#contentDiv').load('/Test.hmtl #container'); 

您可以访问jQuery文档here更多信息

+0

没有想到那个。它的方式更容易。 +1 – 2010-05-13 16:09:28

+6

这只适用于相同域中的页面。 – SLaks 2010-05-13 16:16:43

+0

据我可以看到负载函数就像一个普通的.get()函数调用,但处理url中第一个空格之后的所有内容,作为它返回的部分的选择器。但我还没有充分探索它。 – Falle1234 2010-05-13 16:45:08