過去ログ表示


過去ログ 122 を表示

トピック内全 3 記事中の 1 〜 3 番目を表示
[ 最新記事及び返信フォームをトピックトップへ ]
このトピックの全ページ / [0]

自分のHPで文字が表示されない
(#19841) このトピック中1番目の投稿
(環境: Win2000/Firefox1.0.3)

自分が作ったホームページがあるのですが、
Internet Exploreでは文字がスクロールしてある位置で止まるようになっていました。
またJavascriptを使い、文字が浮かび上がるような表示がされるようにしていました。

Mozillaにして見たところ、スクロールが止まらず、スクロールし続けています。
また文字が浮かび上がるような表示は、まったく表示されなくなってしまいました。

何か原因があるのでしょうか?
もし何か分かる方がいましたら教えていただけませんでしょうか?
よろしくお願いします。

ちなみにそのページのアドレスは、
http://homepage2.nifty.com/benq/musiccm1.1.html
http://homepage2.nifty.com/benq/musiccm1.19.html
以上になります。

Re[1]: 自分のHPで文字が表示されない
(#19842) このトピック中2番目の投稿
(環境: Mac/Firefox1.0.3)

> Mozillaにして見たところ、スクロールが止まらず、スクロールし続けています。

marquee は IE の独自タグです。Mozilla/Firefox もサポートしていますが、
本来使うべきではありません。代わりに JavaScript を使ってください。

> また文字が浮かび上がるような表示は、まったく表示されなくなってしまいました。

JavaScript が IE と Netscape Navigator 4.x でしか動作しないように
書かれているからです。

Re[1]: 自分のHPで文字が表示されない
(#19854) このトピック中3番目の投稿
(環境: WinXP/Firefox1.0.3)

ちょっと調べたら、こんなのが出てきました。
http://www.mozilla-japan.org/kb/solution/2045
http://www.mozilla.gr.jp/standards/index.html


まずは前置きで、日本語の話です。
標準語を十分にしっている人でもスラングを全く知らないなら、スラング交じりの文章を書いても意味が通じない(通じてもちゃんと理解できているのかあやしい)。
スラング交じりの文章は書くべきじゃないと思っている人に、スラングを使った文章を書いて文意を汲んで読んでくれといっても意味がない(意味が通じていてもあえてスラングを無視して意味を取るように読む人もいるんです)。

付け加えると、スラングや方言を話す人が周囲で圧倒的に多いと理解できない人が居ることに気がつかないこともありますよ。気をつけましょう(実生活でも)。

> Internet Exploreでは文字がスクロールしてある位置で止まるようになっていました。
> Mozillaにして見たところ、スクロールが止まらず、スクロールし続けています。
(引用順序変更してあります)

marquee は IE の独自拡張です。独自拡張とはスラングみたいなものだと思ってください。だから、mozilla や Firefox で動かなかったり、IE と完全に動きが同じじゃなくても、ある意味では当然のことです。

mozilla 系に対応したいのでしたら、marquee さんが書かれているように、Javascript で実現できますので、Javascript でかかれてはいかがですか?
ウェブ標準化プロジェクトのページにそのものずばりがあります。

参考:Web標準化Tips MARQUEEをJavaScriptで実現する
http://www.mozilla.gr.jp/standards/webtips1001.html

> またJavascriptを使い、文字が浮かび上がるような表示がされるようにしていました。
> また文字が浮かび上がるような表示は、まったく表示されなくなってしまいました。
(引用順序変更してあります)

まずはじめに、Javascript は方言が強いので気をつけてください。IE でしか動かない書き方、NN 4.x でしか動かない書き方などもあります。

Firefox の Javascript コンソールにこんなエラーが出てます。
| エラー: document.layers has no properties
| ソースファイル: http://homepage2.nifty.com/benq/musiccm1.19.html
| 行: 82

これだけでは意味が分からないかもしれないので、補足しておきますと、mozilla 系ブラウザは navigator.appName で "Netscape" を戻すので、NN 4.x と区別がつきません。ですから、
| var brw_v = navigator.appVersion.charAt(0);
| var brw_n = navigator.appName.charAt(0);
| var iIE4 = false;
| var iNN4 = false;
| if((brw_v >= 4)&&(brw_n == "M"))iIE4 = true;
| if((brw_v >= 4)&&(brw_n == "N"))iNN4 = true;
の判定で、Firefox や mozilla は iIE4==false , iNN4==true になって、NN 4.x 用の分岐に入るけれど、document.layer は NN 4.x 独自仕様で Firefox や mozilla では document.layers を解釈しない(だった気がする)ので、エラーになってしまっています。他のブラウザ判別方法を使いましょう。

参考:
Web標準化Tips ブラウザ判別とオブジェクト検出
http://www.mozilla.gr.jp/standards/webtips1004.html
Web標準化Tips ブラウザ判別では"Gecko"を調べてください
http://www.mozilla.gr.jp/standards/webtips1005.html

もうひとつ補足で、
document.all は IE 独自、document.layer は NN 独自です。document.getElementById を使えば IE5 以降と Firefox はうまくいくんじゃなかったかな。
# getElementById は ECMA 準拠のはず

おまけで、
この程度のことなら Javascript 使って IE5 以降と Firefox で UA 判定しなくても動くスクリプトが組めます。最近の IE も標準準拠を強めてきているので、独自仕様にあわせる必要は将来的に少なくなってくるのじゃないかと思います。
# 実は IE7 にちょっと期待。


このトピックの全ページ / [0]

返信不可


- Child Tree -