2011-01-14 23 views
1

IEの互換モードを無効にしようとすると大きな問題が発生します。IEの互換モードをApacheのvhostの設定で無効にすることはできません

私は多くの頭が震えた後、サイトがApacheのデフォルト設定として提供されたのか、仮想ホストとして提供されたのかを調べました。

私は 'localhost'ドメインでサイトにアクセスするとすべてが問題ないと判断します。仮想ホストで設定されたドメイン経由で同じページにアクセスすると、サイトは互換モードでレンダリングされます。

誰でもこの狂った問題にどのような光を当てることができますか?

サイトをデフォルトホストとして扱うことは選択できません。

  • ディーン
+0

最初のステップは、Apacheが2つの場合に発光するもの応答ヘッダを参照するFirebugのようなツールを使用することであろう。 AFAIK、互換モードのために、Apacheは 'X-UA-Compatible'ヘッダを送る必要があります –

+0

ヘッダはどちらの場合も同じです。私が現在使っている技術は、ヘッダーのタグです。私はまた、apacheの設定でヘッダを設定しようとしました。同じ結果。 – deanoj

+0

これは、localhostというドメイン名が別の扱いを受ける秘密のIEルールでない限り、奇妙に聞こえる@user ...編集:ああ、私は正しかった!私の答えを見てください。 –

答えて

1

ああヘクタール! here(強調鉱山)から

:基幹業務のWebサイトの

多数ができる今日のInternet Explorer 7です。互換性を維持するために、ゾーン評価に基づいてスマートな既定のInternet Explorer 8が付属します。既定の状態では、パブリックインターネット上のすべてのサイトがInternet Explorer 8の標準モード(互換性ビューオフ)で表示され、すべてのイントラネットWebサイトはInternet Explorer 7標準モード(互換性ビュー)で表示されます。

...

あなたはhttp://myPortalhttp://sharepoint/sites/mySiteのようなあなたのローカルイントラネット上のサイトに移動した場合には、Internet Explorer 8が「7」の「7」、バージョンベクタのユーザーエージェント文字列を使用して自身を識別し、ウェブページを表示しますInternet Explorer 7標準モードで標準モードを起動します。この組み合わせにより、Internet Explorer 7で正常に動作していたWebページはIE8で引き続き使用できます。

私はこれにコメントしていません。現実的な理由があると確信していますが、私はまだ机の上で頭を打つ衝動があります。

+0

優れた仕事。それはそれだった。ここのIEブラウザのいくつかは、問題のサイトをイントラネットとして常に分類しているようです。 – deanoj

+0

これをメタタグに挿入することで、この "特性"を無効にすることができます: Cymbals

0

ウェブサイトがローカルのra netで提供されている場合、Internet Explorerは(デフォルトで)IE7互換モードに切り替わります。

あなたのページにX-UA-Compatibleレスポンスヘッダを含むことによって「イントラネット互換モードでIE7」このを無効にするために使用することができます。

HTTP/1.1 200 OK 
X-UA-Compatible: IE=8 

ます。また、HTTPレスポンスのequivlentを追加することができますドキュメントのHEAD>meta http-equiv要素を含めることでページに移動します。例えば。:

<!DOCTYPE html> 
<html> 
    <head> 
    <title>Hello world!</title> 
    <meta http-equiv="X-UA-Compatible" content="IE=9"> 
    </head> 
<body> 

</body> 
</html> 

:あなたは、HTML文書にヘッダ

| Header   | Value | 
|------------------|---------| 
| X-UA-Compatible | IE=10 | 

を含める場合、あなたが何か他のものの前にHEADに十分な高さを追加する必要がありますが、ドキュメントモードでロックすることを起こります - あなたはIE7にロックされています。

間違っ例1つの

<!DOCTYPE html> 
<meta http-equiv="X-UA-Compatible" content="IE=8"> 
<html lang="en"> 
<head> 

meta要素が2

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <title>Hello, world!</title> 
    <link rel="stylesheet" type="text/css" media="all" href="main-73c2257f2d.css" /> 
    <meta http-equiv="X-UA-Compatible" content="IE=8"> 
head

要素内

間違っ例属するX-UA-Compatible要素はに最初に表示されなければなりません; titleと他のmeta要素を除きます。

X-UA対応ヘッダーは大文字と小文字を区別しません。ただし、タイトル要素やその他のメタ要素を除く他のすべての要素の前に、Webページのヘッダー(HEADセクション)に表示する必要があります。

間違っ例3

<!doctype html> 
<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]--> 
<!--[if IE 7]> <html class="no-js ie7 oldie" lang="en"> <![endif]--> 
<!--[if IE 8]> <html class="no-js ie8 oldie" lang="en"> <![endif]--> 
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]--> 
<head> 
    <meta http-equiv="X-UA-Compatible" content="IE=10"> 

条件文はIE7モードにブラウザをロックします。削除してください。正しい

<!doctype html> 
<head> 
    <title>Hello, world!</title> 
    <meta http-equiv="X-UA-Compatible" content="IE=10"> 
関連する問題