0

今週末、クライアントのためにウェブサイトを立ち上げました。Firefox、Chrome、Opera、Safari、IE 9 で適切に表示されます。

ただし、IE 7 および 8 (おそらく 6 も) では、実際の問題が発生しています。ホームページは問題ありませんが、セカンダリ ページのテーマ レイアウトが異なります。

Twenty-eleven ワードプレスのテーマを編集しました。私は Mac を持っているので、IE は Windows ブラウザーであるため、IE をテストするのは困難です。IE 8がインストールされたXPラップトップを持っています。それが私がそれが台無しにされていることを私が知っている方法です。二次ページは本当に悪いです。

メイン コンテンツ、左側のサイド バー、フッターがすべてずれています。問題を解決するために、いくつかのことを試しました。ハックを調べて試してみましたが、役に立ちませんでした。

画像の配置を変更しようとしましたが、ページの見栄えが今よりもさらに悪くなりました。私はここで本当に困惑しています。

誰かが私を正しい方向に導くか、助けていただければ幸いです。URL はwww.jubileecf.comです。ありがとう~アッシュ~

4

1 に答える 1

1

問題はコードに表示されます。

<script>(function fix_ie8() {if (strpos($_SERVER['HTTP_USER_AGENT'],”MSIE 8″)) {header(”X-UA-Compatible: IE=7″);}}

add_action('send_headers','fix_ie8'))();

これはいくつかの点で間違っています。

  • まず、間違った引用符を使用しています。

  • 次に、Javascript にしようとする PHP コードがあります。

  • 第 3 に、PHP に戻したとしても、移動する必要がありheader()ます。これは、ページの一部が出力される前にしか呼び出すことができないためです。したがって、ヘッダーの途中ではなく、開始する前に行う必要があります。

  • 最後に、これがサイトをひどく壊している理由は、Javascript インタープリターにエラーが表示され、処理が停止するためです。したがって、インクルードしているファイル内の IE 修正はhtml5.js実行されず、ページ レイアウトが無効になります。

要するに、このコード行はロックして、二度と話さないようにする必要があります。

それでは、ここで何が起こっているのかを分析して、解決策を見つけてみましょう...

コードは、X-UA-Compatibleヘッダーを使用して IE8 を IE7 互換モードに強制しようとしています。私が言いたいのは、あなたはIEでテストさえしたことがないと述べているのに、なぜとにかくIE7互換モードを使用する必要があると思いますか?

そのコード行をまったく使わずに試してみて、何が起こるか見てみませんか? その結果、IE8 でマイナーなレイアウトの不具合が発生した場合は、互換モードを使用するよりも修正することをお勧めします。

IE7 互換モードを使用する必要がある場合は、スクリプトをまったく必要とせずに使用できます。単にメタタグを使用してください:

<meta http-equiv="X-UA-Compatible" content="IE=7" />

それだけです。

タグが IE8 のみに影響する (IE9 に影響しない) 場合は、IE の条件付きコメント (ページの他の場所で既に使用しています) でラップできます。

于 2012-05-14T21:30:18.750 に答える