ページに関するTips


・コントロールパネル

NN2No good NN3OK NN4OK MozillaBug IE3No good IE4OK

この Tips集のようにブラウザのウィンドウを Frame で分割して レイアウトすることのメリットはいつでもランダムにページが見られることです。

然し、限られたウィンドウを分割するので本文を表示する領域が圧迫される デメリットもあります。

そこで、目次などのページを別ウィンドウで表示すれば多少改善される場合もあります。

別ウィンドウからメインの表示を制御する例
<head>
    :
<script language="JavaScript"><!--
idxURL   = "index.htm"; // パネルのドキュメント名
idxName  = "index";     // パネルのウィンドウ名
            // ウィンドウの装飾
features = "scrollbars,resizable,width=200,height=400";
menuWin = window.open(idxURL,idxName,features);

function unLoadWin(){
  if(menuWin){
    if(!menuWin.closed) menuWin.close();
    menuWin = null;
  }
}
// --></script>
<frameset rows="100%,*" border=0 framespacing=0
          onUnload="unLoadWin()">
  <frame src="main.htm" name="tips">
</frameset>

この文字の部分は必要に応じて修正します。

idxURL,idxName は別ウィンドウに表示する URL とウィンドウ名で、 main.htm,tips はメイン側のウィンドウ( 実はフレーム )に表示する URL とウィンドウ名です。
また、features は別ウィンドウの装飾で、 必要に応じてサイズなど修正してください。

別ウィンドウからメインの表示を変更する場合は target指定します。

例:
<a href="hoge.htm" target="tips">hoge</a>

使用例

サンプルはこちら


注意事項

NN2 IE3
JavaScript1.0 では window.open メソッドで開いたウィンドウが ユーザにより閉じられた場合に調べる手段がありません。 このため、閉じたウィンドオブジェクトに対して close メソッドを 使用するとエラーが発生します。

対応策としては closed プロパティで判断するのを止め、 オープンしたウィンドウの onUnload イベントで独自のプロパティを追加して 判定する方法が考えられますが、 私の開発環境では確認する手段がありませんのでここでは紹介しません。
( この手法は、最近セキュリティ問題の1つとして採り上げられたので、 将来バージョン判定が必要になるかもしれません ^^; )

Copyright(c) 1998 - 2001 ShinSoft. All rights reserved.