ブラウザによってページの一部を表示させなくするには?
[上に]
[前に]
[次に]
srereo
[E-Mail]
[HomePage]
1999/07/24(土) 14:22:51
初めまして、JavaScript初心者です。
Netscapeではあるページのすべてを表示して、
IEでは同じページの一部(70行程度でタグも含む)を表示させない、
ということをJavaScriptを使って実現したいと思っています。
そこで次のように書いてみましたが、予想した通りダメでした。
何か良い方法はないでしょうか?教えて下さい。
<script type="text/JavaScript">
<!--
(navigator.appName.charAt(0) == "M") {
document.write ('<!--') ;
}
// -->
</script>
---IEでは表示させない部分---
<script type="text/JavaScript">
<!--
(navigator.appName.charAt(0) == "M") {
document.write ('-->') ;
}
// -->
</script>
zizz...
[HomePage]
1999/07/24(土) 17:00:09
実際にどういう結果になったか知らないので想像ですが、
"<!--" を書き出した後 "-->" を書く前に、
タグの一部 ">" が書いてあって、
コメントが終わりだと解釈されているのではないですか?
IEで表示させたくない部分をすべて
document.write で書き出すとはどうですか?
醜いけど。
maeda
[E-Mail]
1999/07/24(土) 17:16:51
うぅん、確かに醜いかも・・・(それとも「見にくい」の変換ミス?)。
しかしながら、「仕様ブラウザがIE」かつ「JavaScriptを無効」にし
ている人が訪れた場合、srereoさんのやり方では表示されてしまいます
ね。それを防ぐ意味でも、zizz...さんの方法でやったほうがいいと思い
ます。
stereo
[E-Mail]
[HomePage]
1999/07/24(土) 17:40:24
zizz...さん、maedaさん、ありがとうございます。
実際に行った結果は、「-->」の前までがコメントととみなされて、
それより後の「) ;}// -->」というのが表示されてしまいました。
これを試す前に、お二人が仰ったように、document.writeを使ってみました。
それで、そのときは一行ずつ「document.write ('.....') ;」と書いたんですが、
どうにも汚くて、他に方法を探していたわけです。
でも、これしかないんですかね。
あと、JavaScriptやCSSを無効にしてる人ってどれくらいいるんでしょうか?
両方とも使えることを前提に作っているので、ちょっと心配です。
maeda
[E-Mail]
1999/07/24(土) 19:46:25
あー、はいはい。原因は分かりました。
つまり、zizz...さんの予想通りだったようです。
>document.write ('-->') ;
の部分を、
document.write ('--\>') ;
とでも書けばうまく行くんじゃないでしょうか?(未確認)
おぱく堂
1999/07/25(日) 00:56:23
強引な方法だけど、IEで表示したくない部分は <iframe></iframe>で
挟んじゃうってのはどう? でも見栄え悪いかも。
Selly
[E-Mail]
1999/07/25(日) 03:58:29
<comment>なんてどうですか?
IEだと表示されなくなります。
#IE3だとなんか問題があったような気がするけど。
stereo
[E-Mail]
[HomePage]
1999/07/25(日) 22:02:46
[[解決]]
みなさん,ありがとうございました.
<iframe>タグを使う方法でやってみようと思います.
[上に]
[前に]
[次に]