1

我有一个 jsp 文件,在 jsp 的最开始我有以下代码行。

<!--[if lt IE 7]><html lang="en" class="no-js lt-ie10 lt-ie9 lt-ie8 lt-ie7" xml:lang="en" xmlns:fb="http://www.facebook.com/2008/fbml"> <![endif]-->
<!--[if IE 7]><html lang="en" class="no-js lt-ie10 lt-ie9 lt-ie8" xml:lang="en" xmlns:fb="http://www.facebook.com/2008/fbml"> <![endif]-->
<!--[if IE 8]><html lang="en" class="no-js lt-ie10 lt-ie9" xml:lang="en" xmlns:fb="http://www.facebook.com/2008/fbml"> <![endif]-->
<!--[if IE 9]><html lang="en" class="no-js lt-ie10" xml:lang="en" xmlns:fb="http://www.facebook.com/2008/fbml"> <![endif]-->
<!--[if gt IE 9]><!--><html lang="en" class="no-js" xmlns="http://www.w3.org/1999/html" xml:lang="en" xmlns:fb="http://www.facebook.com/2008/fbml"> <!--<![endif]-->

如果i remove the above lines then page is not rendered in IE but it renders in FF. 请有人能解释一下以上几行是什么?

4

3 回答 3

0

它与 JSP 无关,它只被 IE “理解”,它是 Microsoft 的非标准添加,如果您只有 IE 的代码,那么您使用条件 HTML 包含:

<!--[if lt IE 7]> ... <![endif]-->

其他浏览器不会看到代码,因为他们将“看到”的是标准 HTML 注释<!-- ... -->

条件[if lt IE 7][if IE 8]有点不言自明:[if lt IE 7]意思是“如果 IE 版本低于 7 则添加此”或[if IE 8]“如果 IE 版本为 8 则添加此”

于 2013-08-19T11:33:58.457 回答
0

它们被称为条件注释。它用于检测 Windows Internet Explorer 的版本

在此处获取详细信息。

于 2013-08-19T11:40:37.093 回答
0

下面的行表示什么?

<html lang="en" class="no-js lt-ie10 lt-ie9 lt-ie8 lt-ie7" 
      xml:lang="en" xmlns:fb="facebook.com/2008/fbml">

这意味着以下内容:

  • 这在 HTML 文档中。

  • 文档内容的“语言”是英文

  • 以下(样式)类适用于文档...“no-js lt-ie10 lt-ie9 lt-ie8 lt-ie7”。这些类可能在样式表中定义和/或在页面中使用的 javascript 中引用。

  • 如果您将“fb”视为标记名称中的 XML 命名空间前缀,则表示“facebook.com/2008/fbml”。这看起来像是 Facebook 定义的 XML 模式。

于 2013-08-19T12:00:07.773 回答