ブラウザ判別でIE3をうまく動作させるには?

[上に] [前に] [次に]
きょうこ [E-Mail] 2000/02/15(火) 15:21:27
こんにちわ。学校のホームページを作っているものです。Javaスクリプトでブラウザの判別を行っているのですが、どうしてもIE3がうまく動きません。IE3以上は目次に行き、IE2以下はブラウザのバージョンアップをお勧めします。という案内画面に行くようにしたいのですが、IE3も目次ページに入れず、案内画面に行ってしまいます。ネスケではうまく動いているのですが。IEでだめなので何とか良い方法はないでしょうか?勉強不足とお思いでしょうが、お願いいたします。

EMI 2000/02/15(火) 15:38:07
とりあえず、まずはそのIE3でエラーが出るというスクリプトを書いてください。

無責任官庁 2000/02/15(火) 16:34:12
恐らく・・・
IE2は、JavaScript自体サポートしてないから
スクリプトでは判定不可能かと。
IE3は、NN2相当の・・・ということで、
userAgent は、“Mozilla/2.0”を返すと思いましたが。
appVersionも同上。

というわけで、単純にスクリプトが動く、動かないで分けるしかないような。
あとはまあ、
http://www.tohoho-web.com/js/index.htm#Comment
このへん参照していただいて・・・

きょうこ 2000/02/16(水) 14:01:24
EMI様、無責任官庁様、さっそくのご解答ありがとうございます。
EMI様、とりあえずそのJavaスクリプトを書きます。
<SCRIPT LANGUAGE="JavaScript">
<!---
function GoPege(){
   if(navigator.appName.charAt(0)=="N"){
     if(navigator.appVersion.charAt(0)==2){location.href = "hyosi/cyui.html"}
     if(navigator.appVersion.charAt(0)==3){location.href = "hyosi/home2.html"}
     if(navigator.appVersion.charAt(0)>=4){location.href = "hyosi/home2.html"}
  }
   if(navigator.appName.charAt(0)=="M"){
     if(navigator.appVersion.charAt(0)==2){location.href = "hyosi/cyui.html"}
     if(navigator.appVersion.charAt(0)==3){location.href = "hyosi/home2.html"}
     if(navigator.appVersion.charAt(0)>=4){location.href = "hyosi/home2.html"}
  }

}
//--->
</SCRIPT>

という感じです。

無責任官庁様、早速参照させていただきます。
ありがとうございました。

無責任官庁 2000/02/16(水) 15:12:15
とりあえず参考までに書いておきますが・・・
NNの場合は、appVersionの先頭 = ブラウザのバージョン
で、間違いないと思いますが、
IEの場合は、appVersionの先頭 = ブラウザのバージョンではないと
いうことを覚えておいてください。
大雑把にいうと、IEの場合のappVersionってのは、
「NNにたとえると・・・これくらいかな?」って感じになってます。
ですから、IE3は“2”か“3”で、IE4は“3”か“4”で、IE5は“4”
になってます。
(二つあるのはアップデート時に変わったりしたことがあるんで)
ちゃんとIEのバージョンをとりたいならば、appVersion か userAgent に含まれる、
MSIE ?.? の部分を切り出すしかないと思います。

参考 http://www.tohoho-web.com/wwwjsx29.htm

で、先日も書きましたが、スクリプトが動作するのは、
NNはver2から、IEはver3からです。
「IE2か?」は、スクリプトでは判定できません。

2000/02/16(水) 15:47:28
JSが動いたらLOCATION.HREFで目次ページに飛ばせばいいのでは?

きょうこ 2000/02/16(水) 16:52:04
きょうこです。たくさんのご意見をありがとうございます。
?様JSとは何でしょう?勉強不足ですみませんが教えてください。

2000/02/16(水) 17:31:25
失礼しました、JSとはJavaScriptの略です、
つまり最初のHTMLでBODYタグのonLoadで
LOCATION.HREFを実行し目次ページに飛ばせば
JSの動かないブラウザは表示がそのまま
JSが動くブラウザは目次ページに飛ぶ
と言うことです。

きょうこ 2000/02/17(木) 15:56:21
?様さっそくのご解答ありがとうございます。
つまり、ブラウザのバージョンで判別するのではなく、
Javaスクリプトが動くか動かないかで、目次に行く行かないの
処理を行う、ということですか?
BODYタグのonLoadでLOCATION.HREFを実行し
というのは具体的にどうやるのでしょう?
すみませんが教えていただけるとうれしいです。

2000/02/18(金) 11:30:52
<BODY onLoad="location.href = './hyosi/check.html'">
で目的のJSチェックページに飛ばせると思います。
(この処理でJSの動かないブラウザを外せる)

EMI 2000/02/18(金) 12:20:01
>LOCATION.HREFを実行し目次ページに飛ばせば
ちなみに、JavaScriptは大文字・小文字を区別するので、適当に書くのはやめましょう。(^^

2000/02/18(金) 13:12:27
>>LOCATION.HREFを実行し目次ページに飛ばせば
>ちなみに、JavaScriptは大文字・小文字を区別するので、適当に書くのはやめましょう。(^^
うっかりしてました ごめんなさい (^^ゞ

きょうこ 2000/02/18(金) 16:59:54
?様、EMI様ありがとうございます。
早速参考にさせていただきました。
?様のご意見を参考にさせていただいた結果、
最初のページで案内画面に行きそこで、スクリプトが動くか
動かないかで、判断し動かない場合はそのまま案内画面にとどまり、
スクリプトが動く場合は、目次に行く。
という風にさせていただきました。
とりあえずやってみて、うまくいかなかったら、また
書き込みさせていただきます。

三原克大 [E-Mail] 2000/02/18(金) 17:18:54
Netscape 謹製のブラウザ判別アルゴリズムが公開されています。
http://developer.iplanet.com/docs/examples/javascript/browser_type.html
かなり大きいので、場合によっては機能本体が付属品になってしまいますが。

みんこ 2000/02/18(金) 17:29:00
何も無理矢理飛ばさなくても
document.writeで目次ページのリンク書き出して、
HTMLに「IE2の人はここまでです。バージョンアップして下さい」
とか書いたらいいのでは。

きょうこ 2000/02/21(月) 10:58:00
みんこ様、三原様ご意見ありがとうございます。
<三原様
  アドレスを書いていただきありがとうございます。
  早速参考にさせていただいています。
<みんこ様
  みんこ様の言っていらっしゃることはよく分かるのですが、
  学校のHPという手前、ユーザーの方を重視しているのでそうもい  かないのが現状なのです。自分のHPだったらきっとそうしている  と思うのですが(^_^;なにせ、卒業もかかってるし・・・。
  みんこ様のご意見は知識として頭に入れておきます。

  現在、少しづつではありますが、問題が解決する方に向かっていま  す。みなさまの意見を頭に入れ、なんとか今週中には解決させたい
  と思っています。
  それでは、これからもご意見よろしくお願いします。


  

きょうこ 2000/02/24(木) 14:01:00
[[解決]]
みなさまのおかげで、ブラウザの問題が解決しました。
いろいろなご意見ありがとうございました。これからも
よろしくお願いします。

[上に] [前に] [次に]