
IFRAMEを使っているのですが、PCを起動して最初にページを開いたときだけ、正しい高さに設定できなくて困っています。
「更新」をクリックするとそれ以降はうまく動くのですが...
IE(6)の症状で、FireFoxではPC起動直後でも問題なく動きます。
<iframe src="http://aaaaa.php?mode=abc"
onload="LoadFrame(this.id)" id="Ifr-a" width="700"
marginwidth="0" marginheight="0"
scrolling="no" frameborder="0"></iframe>
javaScript側は、
function LoadFrame(frid) {
var IFR = document.getElementById(frid);
IFR.height = (IFR.contentWindow)?
IFR.contentWindow.document.body.scrollHeight:
document.frames[frid].document.body.scrollHeight;
}
PCを起動した直後の1回目だけうまく表示されません。
IFR.height<1のようなので、処理結果は0になってるようです。
よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
"contentWindow"については、あまり詳しくないのですが、
興味がありましたので、上記のスクリプトをIE6とFirefoxで動かしてみました。
iframeのソースが外部サーバのページの場合、
JavaScriptのエラーが発生しました。
contentWindowの行で「エラー:アクセスが拒否されました」が出ます。
初回だけではなく、毎回です。
iframeのソースを同一サーバのページに変えたところ、
初回起動時も含め、正常に動作しました。
なお、IEとFirefoxに挙動の違いは、ありませんでした。
正常に動作しない時には、JavaScriptのエラーが出ていると思うので
まずは、そちらを確認されてはいかがでしょうか?
ステータスバーの左端のアイコンをダブルクリックです。
もし、エラーではなく、「0」になっているのであれば、
if文を入れて、LoadFrame()を再起呼び出しするか、iframeをリロードすると、上手くいくかもしれません。
ただし、その場合は、リロードフラグを設けるなりして、
無限ループにならないようにくれぐれもご注意ください。
ご回答ありがとうございます。
IFR.heightは「0」になっていて、JavaScriptのエラーは出ていませんでした。
IEで最初にページを表示するときだけ、妙に時間がかかっているのですが...
おそらく...onloadイベントの発生する条件が、Firefox、ネットスケープとIEとで違うみたいです。
iframeに表示するコンテンツが早く表示できるときは、気付かないような違いなのかもしれません。
LoadFrame()を再起呼び出しにして対応しているのですが、
IFR.contentWindow.document.readyState は、いつも "complete"
なので、終了する条件はどうしたものかとハマッテしまいました(w
もう少し、がんばってみます。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript javascriptで変数を組み込みたい 2 2023/01/13 09:52
- HTML・CSS 自身のHPにYouTube動画を貼り付けるのが出来なくなり困ってます 1 2022/11/11 10:44
- HTML・CSS (Javascript)印刷するファイルに応じて印刷プレビュー画面で用紙を自動的に切り替えたい!! 2 2022/04/11 12:04
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript Javascript初心者|jQueryの.val()で値を取得し複数の要素を連結させる方法知りたい 2 2022/06/02 12:06
- HTML・CSS html/cssで要素が出てこなくて困ってます 1 2022/12/31 16:59
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- HTML・CSS cssが効かなくて困ってます 1 2023/01/01 23:57
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Tomcatプロジェクトの.properti...
-
UserModeLinuxを転送されたファ...
-
JBOSS+TOMCAT起動時のエラー
-
The requested resource is no...
-
Eclipse + JBOSS でのデバッグ
-
リモートからTomcatにアクセス...
-
apache+tomcatの起動手順
-
Word97を立ち上げたいのですが...
-
Tomcatに-Dオプションを読込ま...
-
文字化け解消法を教えてください
-
「ファイルが見つかりません D...
-
スタンドアロンJavaプログラム(...
-
Eclipseのアンインストールの仕方
-
Eclipseで、プロジェクト名のと...
-
html上で、バッチやexeファイル...
-
Eclipse・プロジェクトで、フォ...
-
正しいURL指定しているにもかか...
-
「削除するか、クラスパスの正...
-
Eclipse(JAVA)のデバッグで他...
-
EclipseでHTTP404エラーが出る。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
リモートからTomcatにアクセス...
-
The requested resource is no...
-
apache+tomcatの起動手順
-
Tomcatは起動しますが初期index...
-
Tomcatプロジェクトの.properti...
-
「ファイルが見つかりません D...
-
Tomcatでwarファイルの展開に失...
-
javaが起動しない
-
スタンドアロンJavaプログラム(...
-
tomcatをプロジェクト毎に起動...
-
apache + tomcat でtomcatが起...
-
EclipseからTomcatを起動した際...
-
JAVAからAdobeReaderを起動する...
-
Tomcatに-Dオプションを読込ま...
-
GCログに日付時刻を表示したい
-
eclipse + Tomcat v5.5 で 動的...
-
Eclipse + JBOSS でのデバッグ
-
文字化け解消法を教えてください
-
tomcatの再起動とApacheの設定...
-
Visual C++を複数開くには?
おすすめ情報