今まで使っていた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情報、その他ネットビジネスに関する情報をいち早く配信しています。