ドメイン別に表示画像を変える


動作ブラウザ 【 IE:3.0  NN:2.0
Internet Explorer Netscape Navigator DreamPassport iCab
3.0x 4.0x 4.5 5.0x 5.5 2.0x 3.0x 4.0x 4.x 6.0 2 3 2.x
Windows - - -
Macintosh - - -
UNIX - - - - - - - -
Dreamcast - - - - - - - - - - -

ポイント img["www.shiojiri.ne.jp"] = "image1.jpg"; img["macosx2.ncs.gr.jp"] = "image2.jpg"; img["www.openspc.org"] = "image3.jpg"; str = img[document.domain]; if (str != null) document.write("<img src='"+str+"'>");
説  明 ドメイン別に表示する画像を変更するにはdocument.domainでドメイン名を読み出します。if命令で判別する、switch〜caseで判別するといった方法がありますが、JavaScriptではifやswitch〜caseを列記しなくても連想配列(ハッシュ)を利用することで簡潔に記述することができます。配列を作成し、参照番号の部分にドメイン名を記述、値を表示する画像ファイル名にします。これにより配列名[ドメイン名]で値を読み出すことができ簡潔に記述、処理することができます。もし、ドメイン名が定義されていない場合の値はnullになるのでif (str != null)のようにして判別することができます。
サンプル <html> <head> <title>ドメイン別に表示画像を変える</title> </head> <body> <script language="JavaScript"><!-- img = new Array(); img["www.shiojiri.ne.jp"] = "image1.jpg"; img["macosx2.ncs.gr.jp"] = "image2.jpg"; img["www.openspc.org"] = "image3.jpg"; str = img[document.domain]; if (str != null) document.write("<img src='"+str+"'>"); // --></script> </body> </html>
補足説明 if (str != null)はif (str)と記述しても同じ結果になります。

■サンプルスクリプトを実行する >>実行
■各ブラウザでの動作結果を見る >>View!

写真素材 PIXTA