• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:JavaScriptでIE6を検知し、転送する。)

JavaScriptでIE6を検知し、転送する方法とは

このQ&Aのポイント
  • JavaScriptを使用して、IE6を検知し、転送する方法について質問があります。
  • IE6からアクセスされた場合、アラートを表示してアップグレードを促し、同時にアップグレード用のウェブページに転送するJavaScriptのコードを記述しました。
  • IEtesterで試すと、一応Ver.6の際に動作していますが、何故か「ScriptError」が表示されます。また、外部のJavaScriptファイルにコードを記述すると、アラートの文字が文字化けしてしまいます。どこか悪いところがあるのかなど、ご意見をいただけると助かります。

質問者が選んだベストアンサー

  • ベストアンサー
  • think49
  • ベストアンサー率59% (285/482)
回答No.2

スクリプトエラーの原因はわかりませんが、IE6 以下を判別したいのなら 条件付きコメント(バージョンベクタ)や条件付きコンパイルを利用するのが確実だと思います。 IE7.js も条件付きコメントを利用しています。 <!--[if lte IE 6]><script type="text/javascript"> location.href = 'http://www.example.com/'; </script><![endif]--> バージョン ベクタ - MSDN http://msdn.microsoft.com/ja-jp/library/cc817577.aspx 条件付きコンパイル http://msdn.microsoft.com/ja-jp/library/ahx1z4fs%28v%3DVS.80%29.aspx ブラウザの機能の検出 (JScript) http://msdn.microsoft.com/ja-jp/library/0hyey391%28v%3DVS.80%29.aspx

hiroshi_99
質問者

お礼

<!--[if lte IE 6]> <script type="text/javascript"> window.alert("ご利用のブラウザ(Internet Explorer Ver.6以下)では一部の機能が正しく取り扱いできません。\n新しいバージョンへアップグレードして下さい。"); window.open("http://www.microsoft.com/japan/windows/products/winfamily/ie/function/default.mspx"); </script> <![endif]--> どうやらこのくらいにしておくのが良いようですね。 私ももっと勉強しなくては(笑) ありがとうございました。

その他の回答 (1)

  • LOHA
  • ベストアンサー率52% (203/388)
回答No.1

>IEtesterで試すと、一応Ver.6の際に、狙った動作はしています。 >しかし、何故かIEtester上で「ScriptError」が表示されます。 IE6本物で試したので確証は持てませんが、文字コードの問題のようです。 charsetの指定なしでHTMLをUTF-8で保存し、IE6で表示させてみたところ、alertの部分でエラーがでました。一方Shift-JISではエラーは出ませんでした。 ということで正しく文字コードを指定しましょう。 http://www.animegif.net/tips/html/html-charset.html >こうすると何故かアラートの文字が文字化けしてしまいます。 これも文字コードの問題です。HTMLと同じ文字コードにするのが無難だと思います。

hiroshi_99
質問者

お礼

大変勉強になりました。 ありがとうございました。

関連するQ&A

専門家に質問してみよう