5

サポートされていないブラウザIE= 8を使用している場合、警告ボックスを表示するWebサイトページがあります。これはIE 8以降でうまく動作しますが、今日はIE 10でテストしていましたが、この条件付きも読んでいるようです。警告ボックスが表示されてはならないときに警告ボックスが表示されます。私は多くのことを試しましたが、何が問題か分かりません。暗闇の中でIE10はIE8の条件付きコメントを読んでいます

<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0" /> 
    <meta http-equiv="X-UA-Compatible" content="chrome=1"/> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge"/> 
... 
</head> 
<!--[if lte IE 8]> 
    <div style="position:absolute;bottom:0px;left:0px;background-color:orange;color:white;z-index:1000;width:250px;text-align:center;">This content is best viewed in Chrome, Firefox or any other Modern Browser. <br/><strong>Please Upgrade. </strong></div> 
<![endif]--> 
+0

IE 10にも反応しますか?あなたは 'IE 8ではなくIE 10 'の状態を作ることができますか? – Renan

+6

@Renan:ここで問題となるのは、IE10は条件付きコメント*を一切見ることができないということです。 – BoltClock

+0

(よく見えますが、それを解釈しようとすべきではありません) – BoltClock

答えて

4

刺しは、おそらくIEはあなたの2 X-UA-互換性のあるヘッダにより混乱され、その独自の意志で互換表示にフォールバックされます。ここでは、コードの一部です。互換性ビューでIE7をエミュレートしているのはlte IE 8なので、条件付きコメントを非表示にする代わりに、条件付きコメントを処理すると思う唯一の状況です。

あなたは、単一の<meta>タグにそれらを組み合わせると何が起こるかを参照してください:

<meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1" /> 
+0

正直言って、とにかくChromeのエントリーがある理由はわかりません。 Chromeはそれに注意を払っていません。その場合でも、Chromeバージョン1をエミュレートする理由は何ですか。 – Spudley

+0

@Spudley:そのエントリはChrome Frame向けです。 1は、プラグインが利用可能なときに強制的にIEがChromeのように動作することを意味します。 – BoltClock

+0

さて、Chrome Frameも廃止されましたが、 'frame = 1' ....と思っていました。私はそれを使ってからしばらくしています。 – Spudley

2

「条件付きコメント」機能は、MicrosoftのドキュメントConditional commentsによると、IE 10から削除されました。これは、IE 10が「条件付きコメント」をコメントとしてスキップすることを意味します(これはHTML仕様によるものです)。

これはIE 10に関する質問のコードテストで確認されました。ブラウザモードの設定とは関係なく、警告ボックスは表示されません。したがって、実際のページには、「条件付きコメント」ではなく、テキストが通常のコンテンツとして表示される構文エラーがある可能性があります。

+1

面白いので、そのCompatibility Viewのブードーは存在しません。 (私は、現時点ではテスト環境が整っていないので、悲しいことに推測しなければなりませんでした。) – BoltClock

0

私はデバッグしていて、コードを修正しようとしているので、2つの問題が修正されている可能性があります。
最初に、bodyタグを開く前に条件付きコメントを宣言しました。divタグであるため、bodyタグに含める必要があります。それを体の中で動かすことができたかもしれない。
2番目:jQueryスクリプトが含まれているドキュメントの頭にスクリプトタグがありました。このタグをbodyタグの最後に移動すると、問題が解決する場合もあります。

関連する問題