• 締切済み

JavaScript での IE 対 NS はどんな状況なんでしょうか?

JavaScript の独習を始めたところなんですが、 Internet Explorer と Netscape Navigator では JavaScript 命令の違う部分がいろいろあるようで、 何かスクリプトを作ろうとすると、その度に if 文なんかでごちゃごちゃ書かなきゃならなくて、 覚えるにしても書くにしてもチェックするにしても、えらく煩わしい感じがしています。 もう少しすっきり整理されるような見通しとかはないんでしょうか? それと、まだやったことはないんですが、Java なんかについても同じようなことはあるんでしょうか?

みんなの回答

  • Mugi
  • ベストアンサー率84% (11/13)
回答No.4

> 何かスクリプトを作ろうとすると、その度に if 文なんかでごちゃごちゃ書かなきゃならなくて、 > 覚えるにしても書くにしてもチェックするにしても、えらく煩わしい感じがしています。 これ↓などのライブラリ系のスクリプトを利用するとソースをすっきりさせることができますよ。

参考URL:
http://www.din.or.jp/~hagi3/JavaScript/JSTips/Mozilla/Library.htm
  • kokucho81
  • ベストアンサー率61% (157/255)
回答No.3

>もう少しすっきり整理されるような見通しとかはないんでしょうか? JavaScriptについては見とおしはなんとか立てようとしているようです。 IE4とNN4との違いに比べ、 IE5以降とNN6としぼれば、両者の違いは、かなりわずかなものとなりました。 (今までIFで分けていたところが60%ぐらいなくなるはずです) これは、IE4が、document.all型、NN4が、document.layers型なのに比べ、 IE5とNN6は共通して、document.getElementById型なので、 (#1のcockyさんが言っておられるECMAScriptの仕様になんとか両ブラウザとも近づけようとしています) まず、ここの部分の場合分けがなくなった時点「レイヤー関連」の場合わけがなくなりますので、でそうとうIF文がなくなりますよね!! あとは、古いブラウザを使用しているユーザーが自然と減ってゆくのをじっくりと まつしかないですね。 今はIE4とNN4で「足切」というのが一般的なようですので、 これがIE5とNN6で「足切」と全体の流れがそうなるまで待つしかないと思います。 まぁ、でもそんな遠いことではなくて、いままでの流れから 考えて2年後ぐらいではないでしょうか?

  • shigatsu
  • ベストアンサー率26% (511/1924)
回答No.2

クロスブラウザという考え方があります。 参考URLをご覧ください。 色々便利な関数も提供されていますので、これらを使っていれば、どちらのブラウザでも動作します。

参考URL:
http://www.fureai.or.jp/~tato/DHTML/simple/contents.htm
  • cocky
  • ベストアンサー率57% (232/402)
回答No.1

MSもNetscapeも今の状況に問題があるという認識はあり、一応両社のスクリプトを元にした統一規格として「ECMAScript」という規格が既に成立してはいます。 ただまだ現時点でECMAScriptに準拠したブラウザを両社ともリリースしてないんですよねぇ…。 今のところECMAScriptを使っているのはBSデジタルのデータ放送ぐらいのもんで。 早く何とかして欲しいところですが。

参考URL:
http://www2.airnet.ne.jp/sardine/complang/ECMAScript.html

関連するQ&A

  • Javascriptが動かない

    PCを使い始めて数ヶ月になります。 MS Internet Explorerについてなのですが いろいろいじくってしまったせいか、 Java Scriptが動かなくなってしまったのです。 Javascript;のボタンを押しても反応してくれないのです。 理由が解りません… 再インストールが必要ならその方法も教えてください。

  • javascriptに関しまして

    javascriptに関しまして if文の処理に関してお聞きしたいことがあります。 <script language="JavaScript"> <!-- myFlg = 0; function myFunc(){ if(myFlg == 0){ document.myFormMeS.value = "こんにちは"; } myflg = 1; else{ document.myFormMeS.value = ""; myFlg == 0; } } //--> </script> <form name="myform"> <input type="text" size="20" name="myFormMeS"> <script language="JavaScript"> <!-- setInterval("myFunc()",500); // --> </script> </form> というサンプルコードの中で、フラグの管理をする際に 初期値として、myFlg = 0をセットしているのでこんにちはと 表示してからmyFlg に1を代入していますが、その後一度if文を抜けて、 もう一度if(myFlg == 0)の判定を行っているのでしょうか? それとも、そのままelse処理に進むのでしょうか・・・? if文を抜けた後にどこの判定に進むのかいまいちよく分かりません。 初歩的な質問になりますが、宜しくお願い致します。

  • サーブレットにJavaScriptを組み込みたいのですが・・・

    Javaを独習し、Eclipseでサーブレットを作りました。(TomcatとMySQLを使って自分のパソコンでテストしています)基本的な機能はなんとか動かせるようになったのですが、もう少し機能を追加しようと思い、JavaScriptの辞典を買いました(コードが充実しているし、Javaに比べて簡単そうなので)。サーブレットの outprintln("< ~ の中で html に混ぜてみたのですが、JavaScript の部分だけが読み飛ばされてしまっているようなのです。直接、インターネットエクスプローラー(6.0)でファイルを開くとちゃんと表示されます。コンテントタイプに text/html と指定しているからなのかとも考えるのですが、よくわかりません。JavaとJavaScriptは違うという理由で無理なのでしょうか。どなたか教えていただけないでしょうか?よろしくお願い致します。

    • ベストアンサー
    • Java
  • IE6ではjavascriptが動くのにNN7.1では動かない。

    ”コンピューター家庭向け”のところでも質問したのですが、回答がないのでここで質問させていただきます。 HTML部分 <div class="galico"> <script language="javascript" src="poser.js"></script> <a href="javascript:showgallery()"> <img src="../base/gallery.gif" alt=""> </a> </div> SSC部分 .galico { z-index: 3; position: relative; top: 29px; left: -200px; } javascript部分 function showgallery(){ if ( document.all )document.all('gallery').style.visibility ='visible' else if ( document.layers )document.layers['gallery'].visibility ='show' else if ( document.getElementById )document.getElementById('gallery').style.visibility ='visible' } この記述で、IE6では思った通りに動いてくれます。("../base/gallery.gif"をクリックするとjavascriptを実行してくれる。) ところが、NN7.1では "../base/gallery.gif" に触れても、ステータスバーにjavascriptにリンクするように表示もされないし、クリックしても動きません。 なぜかSSCの "position: relative;" を "position: absolute;" にしてやると動くのですが。。。 なぜでしょうか。わかりやすく教えていただけないでしょうか。

  • JavaScriptの条件文の応用

    JavaScriptの条件文の応用について、アドバイスをお願いします。 if文は、ある条件を満たす時だけ命令を実行します。 if~else文は、ある条件を満たす時だけ命令を実行し、それ以外の場合はelse以下の命令を実行します。 if~else if~else文は、if~else文のある条件を複数用意したものです。 switch文は、if~else文を更に複数用意したものです。 それでは、ある条件"だけ"を満たす時だけ命令を実行させたい場合、どのように条件文を書けばいいのでしょうか。 具体的には、スレッド型掲示板で、「返信なし親記事だけ:空白」の時だけ投稿日時を表示するようにさせ、「返信あり親記事:oya」の時には投稿日時を表示させないようにしたいのです。 そして、返信がある場合には、投稿日時の欄に「最後のレス:end」を表示させるようにしたいのです。 掲示板は、http://bbs.sekkaku.net/bbs/23.htmlです。 20時間ぐらいあれこれやっているのですが、妙案が浮かびません。例えば、以下のような書き方もしています。 この書き方の場合、投稿日時は返信ありの場合も親記事の投稿日時が表示され、返信の投稿日時は、別の欄(返信数)に表示されてしまいます。 しかし、少し書き方を変えると、親記事の投稿日時が一切表示されず、返信の投稿日時は、別の欄(返信数)に表示されたままです。 【BASE】の関連部分 <SCRIPT type="text/javascript"> <!-- var mode = "$mode"; if (mode != " "){ document.write('$date_year/$date_mon/$date_day($date_week2) $date_hour:$date_min'); } // --> </SCRIPT> 【RES】の関連部分 <SCRIPT type="text/javascript"> <!-- mode = "$mode"; if (mode != "end"){ document.write('$date_year/$date_mon/$date_day($date_week2) $date_hour:$date_min'); } // --> </SCRIPT>

  • IE8 javascriptを常に有効にする方法を教えてください

    IE8 javascriptを常に有効にする方法を教えてください こんにちは、趣味でプログラミングをしているものです。 早速ですが質問させていただきます。 自分で作ったコードを実行させるたびに 「セキュリティ保護のため、このコンピュータにアクセスする可能性のある  スクリプトやActiveXコントロールを実行しないよう  InternetExplorerで制限されています。  オプションを表示するには、ここをクリックしてください。」 と表示されてしまい、すこし、わずらわしく思っています。 セキュリティのためである、ということは、パソコンに詳しくなくても なんとなく理解しているのですが・・・ Internet Explorer8のjavascriptを常に有効にする方法を ご存知の方がいらっしゃれば、教えていただけないでしょうか? windows7 で、DELLのstudio15です。 よろしくおねがいします。

  • JavaScriptを整頓するツール

    javaスクリプトのif文やループの中など、 タブで整頓してくれるツールはありますでしょうか。 出来れば、htmlの中に <script>~記述している場合でも整頓できれば嬉しいのですが。 よろしくお願いします。

  • JAVASCRIPT

    JAVASCRIPTでチェックボタンがチェックされなかったら、無効になる処理を教えてください。 <script> function butotnClick(){ if(check1.checked || check2.checked || check3.checked || check4.checked || check5.checked || check6.checked || check7.checked){ }else{ alert('曜日をチェックしてください'); document.f1.submit(); } } </script> <input type="button" value="設定" onclick="butotnClick()" />

  • Netscape7.1上でJavaScript(window.close)が動作しません

    こんにちは,Netscape7.1でスクリプトが思った様に動いてくれずに少し困っています.もし何かご存知のことがあればお知らせください. Web上で動く社内システムを開発しているのですが,スクリプトの動作がInternet ExplorerとNetscapeで大きく異なるため,使用はInternet Explorerのみに限定しようと思い,先頭で以下のソースの様なチェックを入れています. <SCRIPT LANGUAGE="JavaScript"> <!-- if (navigator.appName == "Microsoft Internet Explorer") { } else { alert("本システムは,Internet Explorerで使用してください."); window.close(); } //--> </SCRIPT> ブラウザがNetscape6.1であれば問題なく意図した動きをしてくれるのですが,Netscape7.1ではalaert表示後OKボタンを押してもブラウザが終了しません. 単純にバージョンによる差なのか,セキュリティなどの設定の違いか判然とせず,色々と調べてみたのですが,結局分かりませんでした. 何か同じ様な経験をお持ちの方やアドバイスをいただける方がいらっしゃると大変助かります. よろしくお願いします.

  • 「\マーク」で表示される部分の意味は?(JavaScript)

    JavaScript の独習を始めたところなんですが、 あるスクリプトを解読しようとしていましたら、以下のように「\ マーク」がいくつも現れる部分が出てきました。 どうも外国で書かれたスクリプトのようで、 Netscape Communicator で文字コードを「欧米(ISO-8859-1)」に切り替えてソース表示してみましたら、 その部分は、「逆スラッシュ」で表示されました。 こういった部分については、JavaScriptの文法ではどのように理解しておけばいいんでしょうか? それと、見やすいように普通のスクリプトに書き替えたりというようなことはできますでしょうか? ---------- <SCRIPT language="JavaScript1.2">   …… document.write("<div id=\"dot"+ i +"\" style=\"POSITION: absolute; Z-INDEX: "+ i +"; VISIBILITY: visible; TOP: 500px; LEFT: 15px;\"><img src=\"" + balloon[j] + "\" border=\"0\"></div>");   …… </SCRIPT>

専門家に質問してみよう