2011-02-09 9 views
1

Parent.xhtml(レイアウトの制御)とChild.xhtml(内容の表示)という2つのページがあります。子ページはタグを使用して親ページに含まれます。JS関数の実行順序

javascriptを使用してonload機能を実装する必要があります。その前に、javascript関数がどの順番で実行されるかを知りたいですか?

親ページのjs関数が最初に実行されますか?または子ページのjs関数が最初に実行されますか?

あなたの回答を待っています!事前に感謝します

+0

最初に実行したいのはどちらですか?親子ですか? –

+2

私の意見では、固定された実行命令を引き受けることはできません。ブラウザ、ページの読み込み速度などによって異なります。スクリプトをページロードの正しいイベントでコーディングする必要があります。 – Lordalcol

+0

私は親ページのスクリプトを最初に実行し、次に子ページのスクリプトを実行する必要があります。 –

答えて

0

previous answerによると、ブラウザーはiframeがロードされてから親ウィンドウでonloadイベントが発生するのを待つことはありません。最初に完了するものを前提にすることはできません。競合状態が起こる可能性があるため、いずれかが先に終了する可能性があります。あるいは、

<body onload="onLoad();"> 
    ..... 
    <iframe onload="onLoad();"> 

のURLを設定します。

var runs = 0; 
function onLoad() { 
    if (++runs < 2) return; 
    // put code to execute once both have loaded 
} 

を次にHTMLで:

一つの解決策は、それが実行する前に、一定回数と呼ばれていますまで待機関数を記述するかもしれません親ウィンドウのonloadハンドラのiframe。