IEとChromeでは動いているのにFirefoxでだけ動かないJavaScript

今まで使っていたJavaScriptがFirefoxでだけ突然動作しなくなって
ちょっとハマったのでメモ。

IEとChromeでは動いているのにFirefoxだけ動かない。

結論から言うと、
ただ単にFirefoxではdocument.allをサポートしていないと言う・・・。

そもそもdocument.allは元々IEの仕様で、
Firefoxはサポートしていない。

ただ今回の場合は、今までは動いていたのに
新しいサイトに同じJavaScriptを流用しようとしたら
そこでだけ動かなかったのでちょっとハマってしまいました。

ネット上で調べてみたら、
DOCTYPE宣言の問題とか書いてあったので

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">

を消したり、

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

に変更してやったら動いたりしてしまったのがハマった原因です。

HTML4.0で動いていたJavaScriptがXHTML1.0に移植したら動かない。

なんとかXHTML1.0で動かしたくてやっとたどり着いたのが
document.allというわけです。

そもそもFirefoxはdocument.allをサポートしていないので
動いているほうがおかしかったんですかね。

getElementByIdとかgetElementByTagNameなら
ほぼすべてのブラウザがサポートしているので、
変えてやれば良かったんですね。

と言う事で、

document.allをすべてgetElementByIdに直してあげたら
無事動作しました。

めでたしめでたし。

 

 

この投稿は役に立ちましたか? 役に立った 役に立たなかった

 

ネットビジネス速報メールマガジン

 

メルのネットビジネス速報では、悪質高額塾などの被害が拡大しないように
新しい悪質販売者の情報が入り次第、速報でお伝えいたします。

Dreamweaver、Fireworks、PhotoshopなどのTipsやチュートリアルの紹介、
最新SEO情報、その他ネットビジネスに関する情報をいち早く配信しています。

お名前(必須)
メールアドレス(必須)

おすすめの記事