フレームは複数のHTMLファイルを一度に表示するもので、
メニューとコンテンツを分けて表示させているフレームをよく見ると思います。
メニューをクリックすると、その内容をコンテンツの表示するメインフレームに表示し、
メニューはそのまま表示されているタイプです。
その場合はメニューのHTMLファイルと、コンテンツのHTMLファイルが別に出来ていて、
それを両方表示してあるんですが、2つのHTMLを表示するためにフレームのHTMLを作り、
その中に2つのHTMLを表示させているんです。
menu.html
メニューを表示
ここのメニューを
クリックすると
右側の水色部分に
内容が表示される。
|
main.html
コンテンツを表示
|
このようにフレームで複数のHTMLファイルを表示でき、一度に表示する数は自由です。
しかし表示するHTMLファイルが多過ぎると、やはりその分全てを表示するのに時間がかかってしまうので、
その辺は各HTMLファイルの作り方次第になってきます。
中には多くのフレームで区切ったサイトを嫌う方もいますが、作り方次第で何の問題も生じないですし、
フレームをコンテンツなどの表示だけに使うのではなく、フレームを使ってサイトデザインをすれば、
見栄えと機能の両面を両立させる事も可能でしょう。
ただしショップサイトやアフィリエイトを取り入れたサイトには、不向きである事は拒めません。
<frameset cols="180,*">
<frame src="menu.html" name="menu" scrolling="auto">
<frame src="index.html" name="main" scrolling="auto">
</frameset>
上はフレーム分けするソースですが、これを表示すると下のように左に menu.html 右に index.html
と2つに分かれたフレームになります。
フレームネーム
name="menu"
メニュー
日記
リンク
|
フレームネーム name="main"
メニューにあるリンクをクリックすると、
ここにそのリンクのファイルが表示される。
|
<frameset> の内側にある <frame> タグでは、フレームの名前や初めに表示させるHTMLファイルのURL、
またフレームにスクロールバーを表示させるかさせないかなどを設定します。
src でHTMLファイルの指定は分ると思いますが、name でフレームに名前を付ける理由を説明しましょう。
例えば下のように、メニューに日記へのリンクを貼ったとします。
<a href="diary.html">日記</a>
この時 diary.html はメニューのフレームに表示されてしまいます。それを main に表示させるのは、下のようになります。
<a href="diary.html" target="main">日記</a>
つまり target でフレームネームを指定するんです。フレームを使った場合は、
どこのフレームにリンク先のHTMLを表示するかのを指定する target と <frame>タグ内に name が必要になります。
フレームはメニューが常時表示されているので、サイト閲覧にとても便利だし、
またどのページを開いていてもすぐに違うページを開けるので、迷子にならないサイト作りが出来ます。
しかしフレームを使ったサイトにも問題はあるんです。
例えば googleなどのロボット式の検索サイトがフレーム抜きでHTMLを保存してしまった場合、
検索利用者は、例えばメニューの表示されないページを見る事になるので、本来のサイトの姿を見る事無く戻ったり
ブラウザを閉じてしまったりします。ページ内にトップページへのリンクを貼る事で、一応カバーできますけどね。
かつてのサイト訪問は、トップページから入ると言うのが一般的な考えでしたが、
最近はロボット検索で探しているキーワードと関わりの深いページが、Googleなどでは検索結果として出るので、
勝手口でも裏口でもどこから入っても良いと言う考え方が広まりつつあります。
そういう面を踏まえると、玄関から入って欲しいフレームサイトは、ロボット検索では不利です。
しかし素材屋さんなどでは、素材配布ページだけが検索で出てしまうのも困ったものですし、
訪問者に素材を見てもらうにもフレームを使った方が間違いなく便利です。
このように、フレームを使った良い部分と悪い部分がありますので、サイトの内容などを踏まえた上で、
使う使わないを考える事になります。