[ 別ウィンドウを開いて表示 ]

●ページと走行シーンの分離

ページ内で走らせた場合、違うページに行ってしまうと走行シーンが消える。フレーム内走行はフレームを使いたくない場合には不便だ。となると、走行シーンを別のウィンドウにしてしまうのも手である。その方法について簡単に書いておく。なお、フレームで表示する場合の「フレーム内自動設定」は、この場合にも有効である。

実例 説明
A01ウィンドウ高 100px 走行場面の天地を削って表示する。100px以下を指定しても対応できないブラウザがあり、その場合100px高になる。
* Netscape 7 には、JavaScriptで開いたウィンドウ高を正しく計測できないバグがあり、設定走行場面高未満のウィンドウを開くと画面表示位置がおかしくなる。電車走行キットプログラム側での対応は不可能なので、気になる方は、走行場面高未満の別ウィンドウを開かないようにした方がよい。走行場面高未満で表示させる場合は、フレーム表示を推奨。フレームなら Netscape 7 でもフレーム高を正しく計測できるようだ。
ウィンドウ高 130px 走行場面だけで、スタートボタンを表示せずオートスタートにする。
* 上記 Netscape 7のバグを考慮すると、パラメータ設定で強制的にオートスタートを指定しておいた方がよい。
ウィンドウ高 154px スタートボタンも表示するフルサイズ(標準背景設定時)。
M01ウィンドウ高 280px M01は高さ 280px(パラメータ lowerInfo=true に設定した場合は 315px)必須。

●ソース解説

テキストエディタで、走行シーンを呼び出す元のページを開き、以下のソースをページに埋め込む。

●JavaScript指定例:
<script language="JavaScript" type="text/javascript"><!--
function openTrain(){
  scwidth=screen.width-40;
  window.open('M01.html','trainRun','status=no,resizable=no,scrollbars=no,width='+scwidth+',height=280');
}
//--></script>


openTrain()→関数名。半角英字で最後に () をつければ banana() でもよい。
40→開くウィンドウがこの数字の分だけ画面幅より狭くなる。
M01.html→ファイル名。
trainRun→ウィンドウ名。M01の場合は「trainRun」がよい。
280→開くウィンドウの高さ。

* フレーム表示同様、スクロール禁止指定を推奨(scrollbars=no)。但し、指定方法が異なるので注意。
* 上記の例では、別ウィンドウのステータス表示(ウィンドウの下側にある情報表示欄)を無効にしてある(status=no)。実はステータス表示があった方がなにかと便利ではあるのだが、Mac版 IE5に問題があるのだ。Mac版 IE5でステータス表示ありで別ウィンドウを開くと、デフォルトのウィンドウサイズをその大きさに勝手に設定しちゃってくれる。ウィンドウサイズを修正しても、その後ウィンドウを開く度にその大きさで開いてくれるわけで、かなり不快なのである。
* 上記の例では、別ウィンドウのサイズ変更を禁止している(resizable=no)。Netscape 4では、ウィンドウサイズを変更すると JavaScriptやCSS指定個所が異常になるバグがあり、それを意識しての指定だ。しかしながら、ウィンドウサイズは変更可能にしておいた方が、実際のところ貴方のページの訪問者に対しては親切かもしれない。

次に開くためのリンクボタンを次のようにする。

●HTML指定例:
<a href="#" onClick="openTrain();return false">ここの文字がリンクになる</a>
または、
<a href="javascript:openTrain()">ここの文字がリンクになる</a>

* 前者には「;(セミコロン)」、後者には「:(コロン)」があるので注意!
* このページに書いてあることを実行するには、HTMLをテキストエディタで編集する程度のスキルは必要かもしれない。一切を「ホームページ作成ソフト」に頼っている場合は、難しいだろう。


前頁へ戻る

Opaku's Train Kit (C) Mr.Opaku