IEとNN両方で動くように記述する


動作ブラウザ 【 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 - - - - - - - - - - -

ポイント if (document.all) { document.all["myLAY"].style.left = x; } if (document.layers) { document.layers["myLAY"].left = x; } if (!document.all && document.getElementById) { document.getElementById("myLAY").style.left = x; }
説  明 1つの関数/プログラムでIEとNN両方で動作させるには異なる部分だけifを使ってブラウザを判別し処理を行います。大きく分けてIE4以上、NN4、NN6以上を判別します。NN4とNN6は互換性が低いので注意が必要です。(判別方法は前ページまでを参照してください)
サンプル <html> <head> <title>IEとNN両方で動くように記述する</title> <script language="JavaScript"><!-- x = 0; function moveLayer() { x = x + 2; if (document.all) { document.all["myLAY"].style.left = x; } if (document.layers) { document.layers["myLAY"].left = x; } if (!document.all && document.getElementById) { document.getElementById("myLAY").style.left = x; } } // --></script> </head> <body bgcolor="white" onLoad="setInterval('moveLayer()',1000)"> <div id="myLAY" style="position:absolute;left:0px;"><img src="btn1.gif"></div> </body> </html>
補足説明 動作ブラウザは全て○になっていますが、これは実行できない場合でもエラーにならない、という事を示しています。

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


写真素材 PIXTA