9-5

 行くぞ中級技-5
   フレームの強制表示技。


『答え』 間違ったページへのリンクをフレーム表示させる技です。

フレームは既に道場で学んだ後でしょうか。 (まだなら戻って勉強してね)。 見本だけ見るなら、 「ココ」をクリックして確認。
さてさて、このフレーム構造は6つのHTML文で構成されています。 (fa.html、fb.html、fc.html、f1.html、f2.html、f3.html)
fa.htmlがフレーム宣言文ですので、ここにアクセスしてもらえればキチンとフレーム表示されるのですが、 フレームを構成する他のHTML文(fb.html〜f3.html)にアクセスされると部品とも言うべきHTML文が 表示されてしまう訳です。 (トップメニューからリンクされて来れば問題ありませんが、最近のロボット型検索エンジンで飛び込まれる 場合も出てくるのです)
そこで部品とも言うべきHTML文にアクセスされてもフレーム宣言文(fa.html)に戻すことで、 いつでも(強制的に)フレーム表示させちゃう技を紹介しましょう。
早速、お試し戴きましょうか。見本の各HTML文にアクセスしてみて下さい。
fa.htmlfb.htmlfc.htmlf1.htmlf2.htmlf3.html
どうですか、どれにアクセスしてもフレーム宣言文(fa.html)にリンクしますね。(喜びぃ〜♪) これにはloadframe.jsというサブルーチンを使っています。難しい解説は止めますが(出来ませんが ^^;) フレーム宣言文かどうかをチェックして、部品のHTML文だった場合は宣言文に繋ぐ技なんです。
では、肝心のloadframe.jsを取り込んで下さい。今回はディレクトリを見せちゃいますので、 そこからご自身のパソコンに取り込んでみましょうね。
フレーム強制表示技のディレクトリ
(ついでにfa.html〜f3.htmlを取り込んじゃっても結構ですよん)
このサブルーチンが同じフォルダに入っている前提でf1.htmlを例として必要タグを解説しますと

<HTML>
<head>
<script language="JavaScript" src="loadframe.js"></script>
</head>
<BODY bgcolor=ffffff text=800000>
<script language="JavaScript">
<!--
loadFrameSet('fa.html', location);
-->
</script>
<font size=5>
1ばん だよ〜〜〜〜
</font>
</BODY>
</HTML>
てなことになっています。上記の茶色センテンスが必要部分なので 使うときは丸ごとコピーしましょう。
フレーム構成するHTML文には上記の茶色タグを全て書き加えたらOKです。 (フレーム宣言文であるfa.htmlには上記茶色センテンスは不要です)

上記は部品(f1〜f3.html)にアクセスされた場合に表紙(fa.html)に戻す技ですが、 もう一歩進んで部品にアクセスされたらフレームを付ける方法も考えられます。この場合は、表紙となる フレーム宣言文を部品の数だけ用意することになります。上記のスクリプトの中にある loadFrameSet('fa.html', location);の部分を個別フレーム宣言文(例えば、fa1〜fa3.html)に戻すことで 可能となります。従って、loadFrameSet('fa1.html', location);って感じですね。
次の通りです。実際にお試し下さい。
fb.htmlf1.htmlf2.htmlf3.html
ディレクトリは次の通り。(各HTML文が単純強制技とは異なっていますので、取り込みの際はご注意を)
複数フレーム宣言文のディレクトリ

ご覧になった通り、JavaScriptで機能していますので、他のJavaScriptが存在する場合は 今回の強制技は使われない方が良いでしょう。


     . . . . .   . . . . .