2011-07-13 18 views
2

互換性モードで動作するのはIE8だけです。IE8互換性問題

<script type="text/javascript"> 
    var $j = jQuery.noConflict(); 

    if($j.browser.msie && $j.browser.version == "8.0") 
    { 
     alert("<com:TMetaTag HttpEquiv=\"X-UA-Compatible\" Content=\"IE=EmulateIE7\" /> "); 
    } 

</script> 

は、今、私がしようとしています:

<!--[if IE 8]> 
     <com:TMetaTag HttpEquiv="X-UA-Compatible" Content="IE=EmulateIE7" /> 
    <![endif]--> 

第二の方法を(それが仕事をdoesntの)

最初の方法:しかし、私は、以下の最初の方法を使用することによってそれを行うcouldntの上記のようなjqueryを使ってメタタグをエコーし​​ます。しかし、私はそれをする方法を知らない?だから、私はあなたに問題をはっきりと見せてくれるよう警告します。

注:私は、pradoという名前のPHPフレームワークを使用しています。だから、タグ要素は、互換モードで

+0

役立つかもしれませんか? – Patricia

+0

IE8にはいくつかの設計上の問題があり、残念なことにそれを実行するためには、コンパイル可能モードが今のところ簡単な方法です。ご回答ありがとうございます。 –

+0

diffレンダリングモードを試してみてください http://firstblog-jc.blogspot.com/2011/02/ie-rendering-modes.html – jaychapani

答えて

1

地球上であなたはそれが互換モードを使用したいと思う理由は、あなた

http://forums.delphi-php.net/php-code/3242-detect-ie7-ie8-php.html

http://us.php.net/manual/en/function.get-browser.php

+0

私はそれを試してみましょう。私は結果を共有する。答えをありがとう。 –

+0

@BarışV. welcome :) – jaychapani

+0

これは私に問題を解決するためのアイデアを与えます。ありがとう –

2

IE8はIE7として認識するように起こっている、事前に(<com:TMetaTag...

おかげで、のような少し異なっています。

はJavaScriptを使用して

<!--[if lte IE 8]>

+0

これは私が以前に試した最初の方法です。このタグ内のメタはすべてのIEバージョンで動作しています。私はこれが何とかPRADOに関係していると思います。私はこれらのメタタグを包んでいたので、のようなものではありません。それはです。多分それはそのために異なって振る舞いますが、わかりません。 –

1

試してみてください、あなたは、HTMLに直接書き込むことが

document.write() 

メソッドを使用します。

編集:あなたがJQueryを使用しているのを見ていませんでした。これはおそらく、物事のより安全な方法です。

$("head").append('<com:TMetaTag HttpEquiv="X-UA-Compatible" Content="IE=EmulateIE7" />')