何秒かたつと,勝手にリロードしたり,違うページにジャンプしたりするサイトに出会ったことはあるだろうか。また,突然意味不明の文字が表示されて(いわゆる「文字化け」)とまどったことはないだろうか。
この自動リロードの実現,また「文字化け」の回避は <META> で記述する。この要素は,<HEAD>〜</HEAD> の中におかなくてはならない。<META> は通常,2つの属性の値を組にしてさまざまな機能を実現する。ここで扱う書式は,
<META HTTP-EQUIV="..." CONTENT="..."> |
である。とりあえず「こういうものだ」と理解してほしい。
自動リロードは,ページのファイル名やパスを変えたときに,もしそのページにブックマークをはさんでいる人が変更前の URL にアクセスしてしまったとき新しい URL へ誘導する,というときに有効である。この書式は,
<META HTTP-EQUIV="Refresh" CONTENT="(時間); URL=(URL)"> |
(時間)で示された秒数を経過したら,(URL)で示されたページをロードする。また,(時間)のみを指定した場合は同じページをリロードする。
これを利用すると,動的に移り変わるページを作成することもできるが,ネットワークへ負担がかかることも考えなければならない。アニメーション気分で利用するのはあまりおすすめできない。
<META HTTP-EQUIV="Refresh" CONTENT=5> |
上の例では,5秒後に同じページをリロードする。
<META HTTP-EQUIV="Refresh" CONTENT="10; index2.htm"> |
この例では,10秒後に index2.htm へジャンプする。
たとえば日本語では漢字を表現しなければならないが,この漢字に番号(漢字コード)をつける方法がいくつか存在する。通常は,ブラウザが「その番号づけ方法らしい」特徴をみつけて,それに合わせて漢字を解釈するのだが,ときどきうまくいかないことがある。そのときに「文字化け」が発生してしまう。要するにブラウザが誤った「文字番号→漢字変換表」を使ってしまうのである。
これを回避するには,前もって文書中に「このファイルではこの『文字番号→漢字変換表』を使いなさい」と指示してやればよい。書式は,
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=(文字コード体系)"> |
この(文字コード体系)が「文字番号→漢字変換表」である。日本語では大きく分けて3つ文字コード体系があり,次のキーワードで指定する。
iso-2022-jp | JIS : 日本工業規格で決められた「標準」の文字コード体系。 |
x-sjis | シフトJIS : JIS を元にした,主にパソコンで使われる文字コード体系。Windows,MacOS を利用している場合はまずこれを指定しておけば間違いない。 |
x-euc-jp | EUC : 主に UNIX などのワークステーションで使われる文字コード体系。 |
当然のことながら,HTML ファイルで用いた文字コードと同一のものを指定しなければならない。この方法で文字コードを指定した場合は,ブラウザ側の文字コード指定は無視され,必ず <META> で指定したものが用いられる。間違って指定した場合,どんなことをしても正しく表示されないので正確を期さねばならない。
とうぜん,これは,今までのように指定しなくても構わない。この場合は,ブラウザ側の設定によって処理される。
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=x-sjis"> |
これによって,そのファイルの文字コード体系はシフトJIS に指定される。このページにも同じものが記述されている。
なお,正式には x-sjis は shift_jis,x-euc-jp は euc-jp と書くべきなのだが,Netscape Navigator は正式な記述を認識しないので,現在のところは互換性を考慮して x-sjis,x-euc-jp と指定するのがよいだろう。