2014/05/14

framesetを使う時

HTML5でついにframesetタグが廃止された。
framesetを使ったページは嫌いだが、僕が最初に作ったホームページでもframesetを使ったのであまり文句は言えない。
そのときに参考にしたサイトにframesetを使うならnoframeタグでフレームをサポートしないブラウザで表示しても良いように作ると書いてあった。
よくあるソースが
<noframe>
当ページはフレームを使用しています。
申し訳ありませんがフレーム対応ブラウザでの閲覧をお願いします。
</noframe>
というもので、HTMLソースを見る人なら一度は見たことあるだろう。

なんとなく<noframe>というタグにはこう書いておくもんだと思ってないだろうか。
でもそのサイトにはこれはnoframeタグの完全に間違った使い方だと書いてあった。
noframeタグはそもそもフレームをサポートしないブラウザでもサイトの情報が見られるようにサイトの内容とかコンテンツページへのリンクを書くためのものだという。
発想の転換というか本当はそういうもんだというのは知っておいて損しない。(本当にユーザのことを考えるとどうするのが良いか、という考え方だ。)

このblogもそうだけど最近はパソコンで表示してるかスマホで表示しているかでレイアウト等を切り替えるサイトが多い。これはframeset、noframeと似たような状況だ。
スマホ用の表示で「当ページはパソコンで見るように最適化されています。申し訳ありませんがパソコンでの閲覧をお願いします。」なんて書いてたらなんだこの糞ページと思われるだろう。
スマホはパソコン用のブラウザと同じ表示が出来るのでスマホのユーザを無視するとしても敢えてそんなメッセージ出すことない。
それに比べるとフレームをサポートしないブラウザはどうしても見れないのでフレーム無しページを作る気はなくてもせめて何か書いておかないと良くないという違いかな?
にしてもnoframeタグでコンテンツが表示されるような作りのサイトは一個も見たことが無い。
まぁnoframeタグ内をそんな凝った作りにするならそもそもフレーム使わないで作るだろうし。
今後フレームを使ったサイトを見る際はnoframeに何て書いてあるかも見てニヤッとしましょう。

今更なんでこんなこと言うかというと久々にframesetを使ったページ(しかも新しく作られたページ!)を見てしまったからだ。
もうやめましょうよ・・

1 件のコメント:

  1. framesetで検索してたどり着きました。
    ITエンジニアとしてバリバリ活躍しておられる様子に気後れしますが、
    少しだけトホホな私の話を聞いていただけたらと思い、お尋ねいたします。

    ずいぶん前に、ごく簡単なサイトを続けていたのですが、
    その会社の(一方的な都合で)そのサーバーにあるサイト全体が
    バッサリと削除されて、そのまま再開できずにきました。
    現在はcssとかFlexboxとかで「簡単に実現できる」ということで、いろいろなサイトで解説されていますが、でもやっぱりむずかしい。。。
    そしてどのサイトも結局はframesetで(私でもわかるぐらいに簡単に)実現
    できていたのが、結局は同じことをcss等々でかなり多量のコーディングで
    実現しているように思いました。
    いろいろとソースコードを参考のために眺めてみても
    あまりに大量のコードでとても読みきれないと実感しています。
    framesetで(たとえば)左のメニューをクリックすると
    右側の本体にその記事が表示されるのは、すごくシンプルで助かると
    思いますが、いかんせん評判が悪く、廃止の方向で、更にトホホとなります。

    この別メニューをクリックして、別の場所に表示させるという機能が
    cssやFlexboxではどうしてもよくわかりません。
    Kotorelさんのお知恵をお借りできないでしょうか。
    乱文にて失礼いたしました。

    返信削除