- 締切済み
IE9なのにIE7と判別される
jsにてユーザーエージェント判別をして、 各ブラウザを判別し、bodyに各々のクラスをつけるようにしています。 IEのバージョンを調べるために、 if (appVersion.indexOf("msie 6.0") > -1) { $('body').addClass('ie6'); } このように書き、バージョンを判別しているのですが、、、 なぜかIE9でみているのにも関わらずIE7になってしまっています。。。 しかし違うパソコンで見るときちんとIE9になっているんですね。 何が原因なのでしょうか。 このようなことが起きるのであれば、 IEのバージョンの判別は辞めた方がよいのかなーとも思っています。 実際このようなことがユーザーの中で起こりうる可能性があるのならば、 IE9で崩れる原因になりかねないと思いましたので。。。 もし何か分かる方がいらっしゃったらご教示いただければ幸いです。 どうぞ宜しくお願い致します。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- ORUKA1951
- ベストアンサー率45% (5062/11036)
IEの古いバージョンに対応させる方法 ・javascriptを使う方法は感心しません。セキュリティソフトやユーザーの設定で内容を書き換えるスクリプトを禁止している場合がある。 ・CSSハック--IE6のバグを利用して、IE6しか読まないスタイルで追記する。 ・いずれにも対応するスタイルシートを記述する。 コンテナブロックのサイズの計算が異なる場合、その誤差が出ないようコンテナブロックにpaddingを0として内容のmarginで指定するなど ・HTTP要求ヘッダを識別して異なるスタイルシートを提供する。 まあ、下から順番に使うべきでしょう。 ・標準モードで作成する。が基本です。さすがに、これはすでに対策済みでしょう。 「HTML文書を作る場合には、この仕様における、他のDTDセットではなく strict DTD に適合する文書を作るよう推奨する。 ( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/conform.html#h-4.1 )」--1999年のHTML4.01の勧告以来言われ続けていることですから 「DOCTYPEスイッチ」も調べておくこと ・paddingは内部にブロックを含む場合は使用しない ・どうしても必要な場合はCSSハックを使う このあたりが現実的な対策かな・・・javascriptは可能な限り使わない。使ってもjavascriptを停止していても利用に問題ないレベルに押さえる。--これはSEOとしても重要です。 【引用】____________ここから Lynx などのテキスト ブラウザを使用して、サイトを確認します(ほとんどの検索エンジンのスパイダーには Lynx で見えるようにサイトが映ります)。JavaScript、Cookie、セッション ID、フレーム、DHTML、Flash などの特殊な機能が使用されているためにサイトの一部がテキスト ブラウザで表示されない場合、検索エンジンのスパイダーがサイトをうまくクロールできない可能性があります。  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで[ウェブマスター向けガイドライン - ウェブマスター ツール ヘルプ( http://support.google.com/webmasters/bin/answer.py?hl=ja&answer=35769#2 )]より
- kosukejlampnet
- ベストアンサー率44% (126/282)
互換モードで実行してませんか?
- k0021
- ベストアンサー率26% (32/120)
IEのみ判定でしたら「CSSハックを使わずIEのバグに対処する方法」 http://allabout.co.jp/gm/gc/23921/ を使用したら。 if (uAgent.indexOf("WIN") >= 0) を追加したら 私の場合、IEのみの場合「CSSハックを使わずIEのバグに対処する方法」を使用しています。 OS・ブラウザによりスタイルシートを変更の場合は、「OS・ブラウザによりスタイルシートを変更」 http://ryuso.info/me/se1/tp_p1.htm#a_b4 を使用していますが NO1さんばかな回答しにでね
お礼
解決致しました! どうもありがとうございました!
- ennalyt
- ベストアンサー率29% (398/1331)
M$の製品ってハードウェアは優秀なんだけどねぇ。 深く追求しても砂漠をさまようだけですよ。 まともな人は別なブラウザ使ってるはずですから。
お礼
そうですね。ただそう言ってられないのが現実ですね。。。
お礼
その通りでした。。。。すみませんありがとうございました!!