クリッカブル・イメージマップ WWWで扱うマルチメディア目次 ブラウザの背景

クライアントサイド・クリッカブルマップ

クリッカブルマップはWWWサーバ側でimagemapと呼ばれるソフトウェアが必要であったため、クリッカブルマップをサポートしたWWWサーバ以外の場所、たとえばローカルファイルやFTPに置いても使用できませんでした。そこで、HTML文書へマップ情報を記述してブラウザ(閲覧ソフト)自身がローカルに実行できるよう、Spyglass社で新たなタグが拡張されました。この機能はネットスケープやインターネット・エクスプローラ(Microsoft社)などで使え、Internet Draftとして仕様が公開されています。

James L. Seidman / A Proposed Extension to HTML: Client-Side Image Maps, December 1, 1995.
クライアントサイド・クリッカブルマップは、<img ismap>タグと同じくimgusemap属性を付加することにより使用できます。そして、座標とURLの対応を記述したマップの作成には<map>タグを用います。

<img src="URL" usemap="mapname">
usemapでマップ名を記述します。マップ名は、「map_file#map_name」のようになります。map_fileはURL形式で記述できるため、リモートホストのファイルも指定できます。また、同一文書内にマップがある場合は省略できます。map_name<map>タグのname属性で指定した名前です。
   同一文書: <img src="URL" usemap=map>
   別の文書: <img src="URL" usemap=mapfile.html#map>
   リモートホスト: <img src="URL" usemap=http://www.yokochin.com/mapfile.html#map>
usemapを指定すると、ハイパーリンク同様、画像周辺の色が変わり、これはborder属性によって隠せます。なお、usemapはサーバ側のクリッカブルマップ機能にも対応できるようismapと一緒に置いても構いません。たとえば、下記のように両方を記述した場合、
	<img src="../images/image.gif" usemap="map" ismap>
クライアント、サーバサイドクリッカブルマップ機能をサポートしているブラウザでは、クライアントサイドが優先されます。しかし、サーバサイドマップ機能しかサポートしていないブラウザへ対応させる場合は、両方記述しておくほうが親切です。

<map name="mapname"></map>
マップファイルを指定します。<map></map>内に次の<area>タグを記述します。

<area [shape="shape"] coords=" x,y,..." [href="reference"] [nohref]>
クリッカブルマップのデータを作成します。shapeはクリック範囲の形を指定し、四角形(rect)、円形(circle)、多角形(polygpn)が選択可能です。shapeを省略すれば四角形(rect)が選択されます。coordsは、それぞれの形や座標を記述します。

四角形の場合、左上角と右下角2点の座標(図の左上角が0,0)を記述し、円形の場合は中央の座標(X,Y)と半径(radius)を記述します。そして多角形の場合、それぞれの座標を一筆書きになるよう記述します。その際、始点や方向は関係ありません。もし重なった範囲を指定すれば、最初の指定範囲が優先されます。

hrefはクリックした時のハイパーリンク先を記述し、nohrefは何も実行しないことを指定します。このnohrefは、たとえばクリック範囲を重ね書きし、ある部分だけハイパーリンクを除外したい時に用います。マップは最初の行から読み取られるため、まず全体の範囲を記述し、その後、除外したい範囲をnohrefで指定しなくてはなりません。そしてhrefで範囲全体を指定すると、除外したい部分を残してハイパーリンクが設定されるわけです。

nohrefの記述例として、次のようなドーナッツ状のハイパーリンク・ポイントを作ってみましょう。まず、中央の小さな円をnorefで登録してから、全体の円をハイパーリンク・ポイントとして登録します。なお、この例では<img>タグを<a>(アンカー)タグで囲んでおり、クライアントサイド・クリッカブルマップをサポートしていないブラウザなら、図全体がハイパーリンク・ポイントとなります。

	
	
	<a href="http://www.cybersaizensen.com/">
	<img src="../images/donat.gif" border=0 usemap="#donat"></a>
	
	<map name=donat>
	<area shape=circle coords="39,39,16" nohref>
	<area shape=circle coords="39,39,40" href="http://www.cybersaizensen.com/">
	</map>
	
	
クライアントサイド・イメージマップの場合、ブラウザの「ステータスバー」へURLが表示されるので、ハイパーリンク先はマウスをクリックする前にわかります。
なお、この「ハイパテキスト・マニュアル」のサイトマップや、筆者のもう1つのホームページである「ハリウッド最前線」のサイトマップなどが、クライアントサイド・クリッカブルマップを使ったいい例です。じっさいの効果がご覧になりたいかたは、それらのページもぜひ参照してみて下さい。



Copyright (C) 1996-2000 by Yasukazu Yokoi. All Rights Reserved.