【翻譯】使用javascript獲取iframe的內容

Iframe是一個內嵌框架,它容許你任意的加載HTML文件到你如今的document裏面,你可以經過「src」屬性來動態的加載文件。那麼假如你要經過javascript獲取Iframe框架裏面的內容而且處理它。那麼這裏有一個例子能夠幫助如何去作。而且這些例子經過了FireFox瀏覽器和IE的兼容。先加載一個簡單的Html文件到iframe中來看看效果。而後經過javascript中的getIframeContent方法來獲取文件的內容。 javascript

GetIframeDetails.html html

<html>
 <body>
 <iframe id="testFrame" src="FrameContent.html" >
 </iframe>
<a href="#" onclick="getIframeContent('testFrame');">Get the content of Iframe</a>
 </body>
<script>
 function getIframeContent(frameId){
 var frameObj = document.getElementById(frameId);
 var frameContent = frameObj.contentWindow.document.body.innerHTML;
 alert("frame content : "+frameContent);
 }
 </script>
 </html>
FrameContent.html

<html><body>
 <div id="testFrameContent" style="border:1px;">
 This is simple HTML file which is loaded inside the iframe.
 </div>
 </body>
 </html>
經過 getIframeContent方法怎麼作?

function getIframeContent(frameId){
 var frameObj = document.getElementById(frameId);
 var frameContent = frameObj.contentWindow.document.body.innerHTML;
 alert("frame content : "+frameContent);
 }
  • getElementById(frameId) – 獲取所引用的iframe對象
  • contentWindow – 它是一個屬性,返回的是指定的frame或者iframe所在的window對象
  • contentWindow.document – 返回的是所指定的iframe文檔對象
  • contentWindow.document.body.innerHTML –返回的是iframe中body部分的html


你能夠獲取iframe裏面任意的標籤元素。也能夠經過標籤的name/id來處理。讓咱們假設一個使用場景:假如咱們要獲取iframe裏面的,div的內容。那麼咱們能夠經過下面這條語句來檢索它 java

frameObj.contentWindow.document.getElementById(「testFrameContent」).innerHTML 瀏覽器



原文連接:http://manikandanmv.wordpress.com/2009/11/06/getting-iframe-content-in-javascript/ 框架

相關文章
相關標籤/搜索