2009-05-29 56 views
0

我有一個ID爲「appframe」的iframe,源代碼是page.html,它位於同一臺服務器上。我想使用jQuery獲取頁面的源代碼。如何獲取使用JavaScript/jQuery鏈接到內部文檔源的iframe?

alert($("#appframe").contents().find("html").html()); 

回報<head></head><body></body>即使文檔不包含這些標籤,它僅包含「默認頁」,所以這是它應該返回什麼。任何想法如何使用jQuery獲取整個文檔的正確源腳本?

例如,如果文檔是「測試」,那麼它就應該返回。

請注意:幾周前我曾問過這個問題。不幸的是,我沒有得到解決的答案。由於我的聲望較低(〜85),我不能要求賞金......這對我來說沒有多大意義。無論如何,它迫使我重新發布這個問題。

+0

可能重複[?使用JavaScript鏈接到內部文件源HOWTO獲得的iframe/jQuery的(http://stackoverflow.com/questions/872649/howto -get-IFRAME聯到內部文檔源使用JavaScript的-jquery的) – 2015-08-31 16:03:21

回答

1

致電$("#appframe").contents().find("html").html()檢索<html></html>標籤內應該包含的內容。

在IFRAME的情況下,如果它尚未完成加載,它將返回本應存在的空白<head></head></body></body>

如果您在$(document).ready()內進行調用,則IFRAME可能尚未完成加載。嘗試從按鈕點擊事件中撥打電話。請記住,如果您的IFRAME包含純文本,並且您嘗試獲取它的html(),它將包含前面提到的空白頭部和正文標記,即使它們不存在。

如果您不需要訪問IFRAME中的所有HTML,則應該調用(「body」)。html()來獲取內容。嘗試從一個按鈕單擊事件中調用此:

alert($("#appframe").contents().find("body").html());