2010-05-13 124 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