• ベストアンサー

JavaScript のネスケ用の記述

お世話になります。 IEでは成功したのですが、ネスケでは表示されません。 下記は同一画像にユニーク id 名を付けながら、縦に6枚画面表示する記述です。 宜しくご教授お願い致します。 <html> <head><title>test</title> <style type="text/css"><!--   .abs { position:absolute; } //--></style> <script type="text/javascript"><!-- function myFuncFirst(){  var myTop=10;           //表示画像の位置  for (i=6; i>0; i--){        // 同一画像を縦に表示ループ   if (document.all) {       //IE 用     document.write("<span style=position:relative;top:" + myTop + ";left:100>",      "<img id=E" + i + " src="test.gif" + "width=100 height=20 class=abs>","</span>");   } else if (document.layers) { //ネスケ 用     ここが解りません。   }   myTop=myTop +20        // 次の表示画像の位置  } } //--></script> </head> <body> </body> </html>

質問者が選んだベストアンサー

  • ベストアンサー
  • so_blue
  • ベストアンサー率48% (50/104)
回答No.2

if(document.layers){ document.open() document.write('Netscape4') document.close(); }else if(document.all){ document.write('IE'); }else if(document.getElementById){ document.write('Netscape6 / Opera'); } で分別できます。 # 動作確認WIN:IE5.5/NC4.7/NN6/NN7/Opera6.03 write内容を、最初に一括して変数に入れておくといいかもですね。 もしくは span→div にしないと、NC4はダメかもです。

oneworld
質問者

お礼

ご対応ありがとうございます。 ご親切にOperaや、span→divまでの忠告に助かりました。 ネスケにはまだまだ振り回されそうですので、 今後も宜しくお願い致します。

その他の回答 (1)

  • selene_pl
  • ベストアンサー率49% (102/207)
回答No.1

Netscapeは、4.x以前と6.0以降で、ほとんどJavaScriptの互換性がなくなっているので、注意が必要です。 document.layersは4.xまででしか使えないので、6.0以降では、 document.getElementByIdを使うみたいです。 ただ、これだとIEの5.xでもTRUEになってしまいますが。(6.xは未確認) それで、この場合のスクリプトですが、見る限りでは全てのブラウザで 互換性があるものしか使っていないようなので、 ブラウザごとに場合分けする必要はないように思います。 とりあえず、if文を外して、動作確認してみてください。

oneworld
質問者

お礼

ご対応ありがとうございます。 IF 文なしでネスケ6と7は全く画像が表示できませんでした。 ネスケにはまだまだ振り回されそうですので、 今後も宜しくお願い致します。

関連するQ&A