javascriptでも標準/互換モード

今まではプログラマーさんがやってくれていたこともちょっとしたことは自分でどうにかこうにかしなくちゃいけないのが小さい会社 :cry:

そんなわけで今日はとあるjavascriptを書かなくてはいけなかったんだけど、全くの素人。どっかからフリーソースを引っ張ってきてカスタマイズすればどうにかなるっしょと思って目的のソースが配布されているサイトを見つけて、サンプルソースを落として、カスタマイズしてみて、よしIEでOK、次はFirefoxだぁ~と思ってブラウザを立ち上げてみたら、動作しない 8O

なんでよー。サンプルのソースをそのまま持っていっただけなのに。。パスが違うのかな?とかCSSが悪さしているのかな(クリックすると背景色を出す感じの動作だったので)と思ったけど、どうも違う。

原因はHTMLの文字宣言。サンプルソースはHTML4.01 Transitional(URL無)。作成していたHTMLはXHTML1.0 (XML宣言無)。CSSでよくつまづく標準モード、互換モード。まさか、javascriptでもと思って調べてみたらこんな記事発見 :oops:

調べていくと、他のブラウザ(FireFox,Opera..)でも標準/互換モードでウインドウ・ページサイズがらみのプロパティは、値の取れ方が異ってくるようです。

FireFox 1.5では標準/互換モードの違いでdocument.bodyとdocument.documentElementの値が入れ替わりました。

Enjoy×Study – IEの標準/互換モードで参照すべきclientHeightが異なる より引用

javascriptでも文字宣言が影響するなんて初めて知りました:cry:

Trackback URI: http://blog.ochanocosaisai.com/wp-trackback.php?p=315

気軽に記事を評価してみて下さい。
1 Star2 Stars3 Stars4 Stars5 Stars (2 votes, average: 4.50 out of 5)
Loading ... Loading ...

ちぇき said,

2008/8/21 木曜日 @ 17:17:47

同じような問題に当たりgoogleで検索していたらたどり着きました
2年前の記事に書き込むのもどうかなと思いましたが
こちら解決されましたでしょうか?

もしよろしければ教えていただきたいです。

naoco said,

2008/8/22 金曜日 @ 23:28:28

>ちぇきさん

はじめまして。コメントありがとうございます。
ちぇきさんの事例がどのような場合かよく分からないのですが、私の場合はDOCTYPEスイッチを標準モードに切り替えることで解決したような気がします。
お役に立てるかわかりませんが・・・・ :sad:

コメントする

RSS feed for comments on this post · TrackBack URI · add to hatena hatena.comment 0 user add to del.icio.us 0 user add to livedoor.clip 0 user