2009-07-15 9 views
1

ここに状況があります。JQuery/IFrameの奇妙な観察

function scrollLog(line) { // Assume Firefox 
    // alert("weird"); 
    frames['log'].find(line); 
}; 

ここでは、ドキュメントの準備ができたら関数を呼び出します。書かれたコードは必ずしも発射されません。ただし、アラート行のコメントを外し、アラートが発生すると、find関数は常に発生します。何か案は?

EDIT:iframeの読み込みのタイミングが常に完了していないload()問題が原因である可能性がありますか?私は問題がメイン文書のDOMは、IFRAMEのドキュメントDOMがロードされる前にロードすることができることかもしれないと思う

おかげで、
マイケル

答えて

2

は、多くの場合、アラートを追加するとファンキーなものを行います。私はフラッシュでこれを体験しました。警告を出すと、フラッシュがロードされる時間が残ってしまい、動作するでしょう。アラートを削除するとすべてが壊れてしまいます。

ここでは、警告を表示するとフレームが読み込まれるまでに時間がかかるため、アクセスすることができます。アラートがない場合は、完全にロードされていない可能性があります。フレームにアクセスする前にフレームがロードされているかどうかを確認しようとします。

+0

フレームが読み込まれているかどうかを確認する構文は何ですか? – Dirk

+0

することができますiframe.onload = function(){}私は – marcgg

+0

ありがとう、ありがとう、 – Dirk

1

(これらは、非常に大きなログファイルです)。

フレーム要素に基づいて試しましたか? JavaScriptを何か他のものと通信しようとしたとき

$(frames['log']).ready(function() {}); 
+0

これは私が投稿した直後に考えていたことです。すぐに試してみることになります。 – Dirk

+0

動作しませんでした。他の方法を試してみてください – Dirk

+0

あなたの提案をお寄せいただきありがとうございます。marcggの "onload"構文が機能することが判明しました。 – Dirk

関連する問題