if(navigator..から全対象への回帰?
[上に]
[前に]
[次に]
まっちゃん
1999/03/17(水) 02:24:50
なんか初歩的なことでスミマセン..
document.write("hoge");
if(navigator.appVersion.charAt(0) >= 4 && navigator.appName.charAt(0)=="N") {
window.onerror=null;
document.write("nn");
}
if(navigator.appName.charAt(0)=="M") {
window.onerror=null;
document.write("ie>");
}
document.write("bye");
ということで、どちらのブラウザでも bye を書き出したいとき、
かつ、
分岐スクリプト内にdocument.write("bye");
を格納したくないとき、
どういう文法にすればといのでしょう....
お助けくださいませ。
Nobu3
1999/03/18(木) 14:06:10
意図は良くわかりませんが、
「NN4以降とIEの時に bye を書き出したい」のでしょうか?
もしそうなら、
nn=false;
ie=false;
を最初に書いて、
NNの分岐には nn=true;
IEの分岐には ie=true;
を書いて、最後に
if(nn||ie)document.write("bye");
を書いたらいいと思います。
これも、分岐させているので望みどおりではないと思いますが・・・
また、やりたい事も違ってるかもしれません・・・
匿名希望
1999/03/18(木) 16:14:42
Nobu3さんの回答と同じ解釈ですが,
document.write("hoge");
nn = (navigator.appVersion.charAt(0) >= 4 && navigator.appName.charAt(0)=="N");
ie = (navigator.appName.charAt(0)=="M");
if (nn || ie ){
window.onerror=null;
if (nn) {
document.write ("nn");
} else {
document.write ("ie");
}
document.write("bye");
}
という形にすると若干見た目すっきりになるかもしれませんね ^^;
#さらにif文を二項演算子にしてみるとか。
他にもNobu3さんのやりかたでnn, ieという2つの変数を使うところを,例えば初めに
ua="other";
にしておいて,各if文の最後に ua="nn"もしくは ua="ie"をつけ,
if (ua !="other") {
document.write(ua+"bye");
}
なんて形(文字列をフラグ代わりに使う)とか,工夫はいろいろできそうです。
[上に]
[前に]
[次に]