2011-03-19 67 views
1

我有一個文件x.xhtml和另一個文件main.html,其中我使用的是<iframe src=x.xhtml id=childframe>。現在我想要做的是,在文件加載後,我想使用JavaScript獲取子框架的來源,即x.xhtml獲取iFrame的來源

我嘗試下面的代碼

function getChildInput() { 
    var iframe = document.getElementById('childFrame').contentWindow; 
    var childText = iframe.document.getElementById('childText'); 
    alert(iframe.document.getElementsByTagName('html')[0].innerHTML); 
} 

,但它並沒有爲.xhtml工作。如果我使用.html代替,它工作正常。

這是XHTML的問題還是有任何其他方式從HTML以外的子框架獲取源代碼?

+0

是擴展的唯一區別? – pimvdb 2011-03-19 11:16:59

+0

是的!擴展是唯一的區別,當我正在更改相同的文件到x.html與工作正常 – imran 2011-03-19 11:21:15

+1

看看控制檯你得到哪個錯誤消息。 – 2011-03-19 11:46:11

回答

1

嘗試alert(iframe.document.body.innerHTML);

var doc_iframe = document.getElementsByName("myFrame")[0].contentWindow.document; 

HTH

伊沃Stoykov

+0

沒有它仍然沒有工作! – imran 2011-03-19 11:18:47

+0

請回答傢伙 – imran 2011-03-19 12:11:57

0

嘗試使用documentElement屬性:

alert(iframe.document.documentElement.innerHTML); 
+0

我越來越undefined! – imran 2011-03-19 11:59:45

+0

您可以使用諸如[Fiddler](http://www.fiddler2.com/fiddler2/)這樣的工具向我們提供iframe的服務器響應的Content-Type頭信息嗎?假設你的iframe實際上包含了一些東西,並且從與你的主頁面相同的域中提供,那麼可能有錯誤。 – 2011-03-19 12:09:46

+0

它的應用程序/ xhtml + xml – imran 2011-03-19 12:45:57