ところが、サーバに上げてIE6.0で確認したところ、CSSファイルもJavascriptファイルも読み込んできていないようなのです。ブラウザのキャッシュを全てクリアし直して試しても同様でした。
ローカル環境では同じIE6できちんと認識できています。
FIREFOX2.0.0.1ではサーバ上でもローカル上でも認識できており、FIREFOXの拡張機能のUserAgentSwitcherを使ってIE6になりすましても、認識できました。
htmlファイルDOCTYPEは
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
と指定しています。サーバ上でIE6.0が外部ファイルを認識しない原因はどういうものが考えられるでしょうか。
プロバイダに質問すると、ソフトウェアに関する問題なのでこちらでは分かりかねます、ということでした。
html ファイルと JavaScript ファイルや css ファイルの文字コードが違っていて、かつ文字コードの指定がなされていない場合、文字化けして正常に読み込まれていないという場合が考えられます。
この場合、例えば、
<link href="hoge.css" rel="stylesheet" type="text/css" charset="utf-8">
や
<script type="text/javascript" src="fuga.js" charset="utf-8">
のように文字コードを明示してみてはどうでしょうか。
もちろん、この場合は実際のスクリプトや css のコードは、指定する文字コードにしておかなければいけません。
html ファイルと JavaScript ファイルや css ファイルの文字コードが違っていて、かつ文字コードの指定がなされていない場合、文字化けして正常に読み込まれていないという場合が考えられます。
この場合、例えば、
<link href="hoge.css" rel="stylesheet" type="text/css" charset="utf-8">
や
<script type="text/javascript" src="fuga.js" charset="utf-8">
のように文字コードを明示してみてはどうでしょうか。
もちろん、この場合は実際のスクリプトや css のコードは、指定する文字コードにしておかなければいけません。
ありがとうございます!!
できました!!
<meta http-equiv="Content-Style-Type" content="text/css">
<script type="text/javascript" src="http://www.hoge.com/css/hoge.js"></script>
の部分に、使用している文字コードを明示したら、できました!
本当にありがとうございました!
まずIEのキャッシュフォルダを監視して、HTMLアクセス時に外部jsファイルが
読み込まれているかどうかの確認をしてみて下さい。
1.jsファイルがキャッシュフォルダにある=読み込まれている
(でも期待した動作をしていない)
2.そもそも読み込まれていない
の切り分けが必要です。
1.のケースでは、外部サーバーにUPする際にFTPソフトが勝手にjsの文字コードを変更していたり、
IEで正しく読み込めないような(特殊な文字や改行コード、文法を使用した)ソースを
書いている可能性があります。
HTMLの文字コードとの整合も問題になるケースがあります。
また、外部サーバーだと通信速度やUAの設定により
ブラウザの挙動が開発環境とは異なるケースがあります。
2.では、ファイルを外部サーバーにはUPし忘れていたり、HTMLのソース不具合の可能性もあります。
ちなみに、jsでUAを判別しているのでしたら、FirefoxでUserAgentSwitcherを使用しても
jsはFirefox用のCSSファイルを呼び出します。
http://firefox.geckodev.org/index.php?User%20Agent%20Switcher
UserAgentSwitcherはリファラを偽装するので、UA判別jsにありがちな
if(document.layer){ }else{ }
のような処理には影響を与えません。
もし、HTML側でjsもUA毎に(HTMLにscriptを直書きして)振り分け呼び出しをしていたら、
そちらのパス指定やソースも確認する必要があります。
本当に丁寧な回答をありがとうございました。
「ちなみに、jsでUAを判別しているのでしたら、FirefoxでUserAgentSwitcherを使用してもjsはFirefox用のCSSファイルを呼び出します。」
そうだったのですか。恥ずかしいです。勘違いしていました。
原因を順を追って確認するべきですね。
勉強になりました。本当にありがとうございます!
ありがとうございます!!
できました!!
<meta http-equiv="Content-Style-Type" content="text/css">
<script type="text/javascript" src="http://www.hoge.com/css/hoge.js"></script>
の部分に、使用している文字コードを明示したら、できました!
本当にありがとうございました!