1

IEでまれな問題が発生しました。IEのバージョンがIE8以下の場合にこのスクリプトを起動するページを作成しようとしています(単純なアラートと場所のみ)。IETesterでこのHTMLをデバッグしようとすると、アラートはIE5.5とIE6でのみ表示され、7と8では表示されません。何が問題なのですか。

<!DOCTYPE html>
<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<!--[if lte IE 8]>
    <script type="text/javascript">
        alert('Para poder usar Consumedia necesita tener instalada una version de Internet Explorer 9 o superior');
        window.location = "http://www.google.com";
    </script>   
<![endif]-->
</head>
<body>
</body>
</html>
4

2 に答える 2

1

これは、ネイティブIE7でアラートを表示しています。

IETesterには条件付きコメントに関するバグがあるようです。IE9にIE7をエミュレートさせるにはどうすればよいですか?を参照してください。IETesterの代替として。

@Pekkaはすでにこの問題について数回コメントしてます

Internet Explorerの複数のインスタンスが同じシステムにインストールされている(またはアクティブになっている)場合、条件付きコメントは、システムで使用可能な最高のIEバージョンに対して解決されます。

編集:実際にはあまり追加されませんが、IE7のみがインストールされており、IE<=7の場合はIETesterのアラートも表示されます。

于 2013-02-21T11:44:06.750 に答える
1

私の最初の答えで申し訳ありませんが、本当の問題を理解していません。

if ステートメントを変更してみてください。

<!--[if lt IE 9]>
    //Fires for IE8 and above
<![endif]-->

ここで例を参照してください: http://css-tricks.com/how-to-create-an-ie-only-stylesheet/

于 2013-02-21T11:33:07.650 に答える