2013-11-10 45 views
0

我需要在頁面加載開始時運行一個函數,但它不起作用。 我有一個父級HTML(稱爲主)和三個框架(childs frameA,frameB,frameC)。用Javascript寫入子框架?

main.html中:

<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> 
    <script type="text/javascript" src="js/main.js"></script> 
    <title></title> 
    </head> 
    <frameset cols="40%,*"> 
    <frameset rows="55%,45%"> 
      <frame src="frameA.html" name="frameA" id="frameA" /> 
      <frame src="frameB.html" name="frameB" id="frameB" /> 
     </frameset> 
      <frame src="frameC.html" name="frameC" id="frameC" /> 
    </frameset> 
    </html> 

FrameA,B,C:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> 
    <title>FrameA</title> 
    </head> 
    <body> 
    <h1>FRAME A</h1> 
    </body> 
    </html> 

而main.js:

function resetC() { 
     var oFrame = document.getElementById('frameC'); 
     oFrame.document.write("Frame C reseted"); 
    } 
    resetC(); 

我生病的 「oFrame爲空」 。爲什麼會發生?

+0

對不起,這個答案的含糊不清,但最後一次我不得不做這樣的事情,我不能直接寫入框架,但我必須在框架內的函數來傳遞信息來來回回。以下是如何執行此操作的示例:http://stackoverflow.com/questions/251420/invoking-javascript-code-in-an-iframe-from-the-parent-page。所以基本上,你必須在iframe中有一個函數來調用來完成寫作。 – Snowburnt

回答

0

向下移動js腳本的框架之下,它應該工作...

剛剛結束標記之前...

我認爲它的發生,因爲該文件尚未加載到您的JS能看框架元素...