トップ回答者
IE8 frame構成内のdocument.getElementByIdが取得できない

質問
-
frameで分割した1つに(サンプルではframe03.html)window.onresizeイベントが発生したら、そのサイズに合わせて一部の(<div class="resizeArea" id="resize" >リサイズ</div>)の高さを変更したいのですが、
ウインドウの右下で斜め矢印でサイズ変更は正常に動作します。
ウインドウの下で上下矢印でサイズ変更は正常に動作しません。
ウインドウの下で上下矢印でサイズ変更後に、ウインドウの右で左右矢印でサイズ変更は正常に動作します。
ウインドウ上部のリサイズは正常に動作します。
また、frame03.htmlを単独で起動した場合は、どの操作も正常に動作します。
以下にサンプルを添えます。
解決策をよろしくお願いします。
サンプルソース
frame00.html フレーム分割するだけです
<HEAD>
<title> サンプル フレーム三分割 </title>
</HEAD>
<frameset title="上下左右3右分割" rows ="50px,*">
<frame title="上側" src="frame1.html" name ="frame1" scrolling="auto" noresize>
<frameset title="下側を左右分割 " cols ="50px,*">
<frame title="上左側 "src="frame2.html" name ="frame3" scrolling="auto" noresize>
<frame title="下右側 "src="frame3.html" name ="frame2" scrolling="auto" noresize>
</frameset>
</frameset>
</html>
frame01.html 上部のフレーム用
<html>
<head></head>
<body bgcolor=#e3e3e3>
frame1.html
</body>
</html>
frame02.html 下の左フレーム用
<html>
<head></head>
<body bgcolor=#e3e3e3>
frame2.html
</body>
</html>
frame03.html 下の右フレーム用
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN">
<html>
<head>
<script type="text/javascript">
<!--
window.onresize = function(){
//alert("window.onresize");
if(! document.getElementById) return true;
if(! document.getElementById("resize")) return true;
//alert(document.documentElement.clientHeight);
if(document.documentElement.clientHeight > 100 && document.documentElement.clientHeight < 1000){
document.getElementById("resize").style.height = (document.documentElement.clientHeight - 80) + "px";
}
return true;
}
// -->
</script><style type="text/css">
.resizeArea{height:200px;background:#00FF00;}
.height30{ height:030px;background:#FF0000;}
.height50{ height:050px;background:#0000FF;}
.AllArea{ height:768px;}
</style></head>
<body bgcolor=#e3e3e3>
frame3.html
<div class="AllArea">
<div class="height30" id="top" >TOP</div>
<div class="resizeArea" id="resize" >リサイズ</div>
<div class="height50" id="under" >under</div>
</div>
</body>
</html>
サンプルは以上です2009年9月29日 10:31
回答
-
ご指摘の内容になりますので、このスレッドは閉じてください。
以下の内容は関連がありましたが、
IE8 と IE6 では仕様が異なるようで、スッキリした解決にはなりませんでした。
IE8 でスタイルシートにposition と overflow の組み合わせで 表タイトル固定が崩れる
IE8 標準モードと IE6,7モードではテーブルの罫線表示が異なる
IE8 で frame を使用していると window.onresize イベントが発生しない? (IE6では発生する)
みなさんのご協力をいただき、
window.onresizeイベントは、frameを使用すると縦方向のイベントが発生しませんが妥協する。
テーブルの罫線は好みの問題なので、ブラウザ標準を使用する。
excelのタイトル固定のような操作は、IE8でのきれいな表示方法が不明なため、body等の幅を極端に大きくする事にしました。
ありがとうございました。
最後に
IE8 でスタイルシートにposition と overflow の組み合わせで 表タイトル固定が崩れる
は今後も解決策を調査したいとおもいます。
良い方法がありましたら、よろしくお願いします。- 回答としてマーク 三沢健二Moderator 2009年10月2日 9:26
2009年10月2日 7:59
すべての返信
-
こんにちは、フォーラムオペレーターの三沢健二です。
こちらのご質問ですが、以下の Answers フォーラムにご投稿された 「window.onresize イベントが発生しない」 がそもそもの問題点になりますでしょうか?
(window.onresize イベントが発生しないために、document.getElementById が取得できていないのではないかと推測しましたので。)もし、内容的に同じご質問であれば、重複を避けるためにもこちらのスレッドについてはロックさせていただきたいと考えておりますので、よろしければ返信いただければと思います。
- 関連スレッド
IE8 で frame を使用していると window.onresize イベントが発生しない? (IE6では発生する)
http://social.answers.microsoft.com/Forums/ja-JP/ieja/thread/630f7595-f7db-46c8-98a5-91fe0cc0a8ad
よろしくお願いいたします。______________________________________
マイクロソフト株式会社 フォーラム オペレーター 三沢健二2009年10月2日 1:24モデレータ -
ご指摘の内容になりますので、このスレッドは閉じてください。
以下の内容は関連がありましたが、
IE8 と IE6 では仕様が異なるようで、スッキリした解決にはなりませんでした。
IE8 でスタイルシートにposition と overflow の組み合わせで 表タイトル固定が崩れる
IE8 標準モードと IE6,7モードではテーブルの罫線表示が異なる
IE8 で frame を使用していると window.onresize イベントが発生しない? (IE6では発生する)
みなさんのご協力をいただき、
window.onresizeイベントは、frameを使用すると縦方向のイベントが発生しませんが妥協する。
テーブルの罫線は好みの問題なので、ブラウザ標準を使用する。
excelのタイトル固定のような操作は、IE8でのきれいな表示方法が不明なため、body等の幅を極端に大きくする事にしました。
ありがとうございました。
最後に
IE8 でスタイルシートにposition と overflow の組み合わせで 表タイトル固定が崩れる
は今後も解決策を調査したいとおもいます。
良い方法がありましたら、よろしくお願いします。- 回答としてマーク 三沢健二Moderator 2009年10月2日 9:26
2009年10月2日 7:59 -
sugita0001 さん、こんにちは。
早速のご返信、誠にありがとうございます (^^)
それでは、こちらのスレッドに関しましては一旦ロックさせていただきますので、引き続き回答・アドバイスをいただける場合には、以下の Answers フォーラムのスレッドまで投稿いただければと思います。
- 関連スレッド
IE8 で frame を使用していると window.onresize イベントが発生しない? (IE6では発生する)
http://social.answers.microsoft.com/Forums/ja-JP/ieja/thread/630f7595-f7db-46c8-98a5-91fe0cc0a8ad
また、以下のご質問に関しましても、何か情報をお持ちの方がいらっしゃいましたら、回答・アドバイスをお待ちしております。
IE8 でスタイルシートにposition と overflow の組み合わせで 表タイトル固定が崩れる
http://social.answers.microsoft.com/Forums/ja-JP/ieja/thread/9e946b87-f56c-4146-bc31-7b52d2eae482
それでは、また何かありましたら、ぜひ TechNet フォーラムをご利用ください!
______________________________________
マイクロソフト株式会社 フォーラム オペレーター 三沢健二2009年10月2日 9:26モデレータ