Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Internet explorer 为什么只有IE有条件注释?_Internet Explorer_Conditional Comments - Fatal编程技术网

Internet explorer 为什么只有IE有条件注释?

Internet explorer 为什么只有IE有条件注释?,internet-explorer,conditional-comments,Internet Explorer,Conditional Comments,有没有我遗漏的条件注释的其他用途,或者是只有IE才能得到这些 还有,为什么只有IE才能获得这些信息呢?这是因为你需要有条件的注释来帮助IE呈现你的页面。否则,大多数页面将无法在IE中正确显示(因为没有正确处理默认值)。这是因为您需要条件注释来获得IE帮助以呈现页面。否则,大多数页面将无法在IE中正确显示(因为没有正确处理默认值)。Microsoft实现了这些功能,因此开发人员可以利用较新浏览器的增强功能。但事实上,正如上面所回答的,它们现在更多地用于确保在不同浏览器中工作的代码也在IE中工作 完

有没有我遗漏的条件注释的其他用途,或者是只有IE才能得到这些


还有,为什么只有IE才能获得这些信息呢?

这是因为你需要有条件的注释来帮助IE呈现你的页面。否则,大多数页面将无法在IE中正确显示(因为没有正确处理默认值)。

这是因为您需要条件注释来获得IE帮助以呈现页面。否则,大多数页面将无法在IE中正确显示(因为没有正确处理默认值)。

Microsoft实现了这些功能,因此开发人员可以利用较新浏览器的增强功能。但事实上,正如上面所回答的,它们现在更多地用于确保在不同浏览器中工作的代码也在IE中工作

完整故事:

微软实现了这些功能,因此开发人员可以利用新浏览器的增强功能。但事实上,正如上面所回答的,它们现在更多地用于确保在不同浏览器中工作的代码也在IE中工作

完整故事:
你说得对;只有IE具有此功能

这是微软在浏览器战争时期为IE发明的一项功能。它从未被批准为标准,也没有其他浏览器制造商实施过它

他们将其作为一系列功能的一部分来实现,这些功能旨在让只使用IE的开发人员的生活更加轻松,这样他们就可以确定自己使用的是哪个IE版本。这是必要的,因为IE(与当时的其他浏览器一样)正在开发非标准功能,而且从一个版本到下一个版本通常会有非常显著的变化

因此,它是为IE开发者设计的,但事实上,它最终起到了相反的作用,因为现在跨浏览器开发者通常使用它作为一种黑客攻击他们的网站的方式,使其与旧版本的IE一起工作

事实上,其他浏览器制造商都没有实现它可能是一件好事,因为尽管它确实让了解您所处的浏览器版本变得非常容易,但浏览器/版本检测通常被认为是一种糟糕的做法

当前的想法倾向于功能检测,而不是浏览器/版本检测。为此,您可以使用诸如之类的工具来确定用户浏览器支持的功能,这使您能够更细粒度地控制如何处理旧浏览器

然而,在IE的旧版本中,浏览器与某些标准严重不兼容,这有时是不够的,在这种特定情况下,确实需要检查浏览器和版本。有鉴于此,有条件注释功能是一件好事。考虑到没有其他浏览器存在这样的问题,它们不支持有条件的评论可能也是一件幸事

在一个理想的世界里,没有人会继续使用需要这种黑客技术的旧版本IE。但是它们是,我们需要支持它们,所以对于那些你不能用特征检测来实现的少数情况,条件注释是一种方法

[编辑]

这是一个古老的答案,但值得重新考虑,因为从IE10开始,条件评论不再受支持。IE10是一款比它的前辈好得多的浏览器,微软一直在积极推动它尽可能的现代化和符合标准。删除条件注释功能是推送的一部分。当然,对于旧版本,条件注释仍然存在,上面支持和反对使用它们的论点仍然存在,但是对于IE10和以后的版本,处理浏览器问题的条件注释选项不再可用。

你是对的;只有IE具有此功能

这是微软在浏览器战争时期为IE发明的一项功能。它从未被批准为标准,也没有其他浏览器制造商实施过它

他们将其作为一系列功能的一部分来实现,这些功能旨在让只使用IE的开发人员的生活更加轻松,这样他们就可以确定自己使用的是哪个IE版本。这是必要的,因为IE(与当时的其他浏览器一样)正在开发非标准功能,而且从一个版本到下一个版本通常会有非常显著的变化

因此,它是为IE开发者设计的,但事实上,它最终起到了相反的作用,因为现在跨浏览器开发者通常使用它作为一种黑客攻击他们的网站的方式,使其与旧版本的IE一起工作

事实上,其他浏览器制造商都没有实现它可能是一件好事,因为尽管它确实让了解您所处的浏览器版本变得非常容易,但浏览器/版本检测通常被认为是一种糟糕的做法

当前的想法倾向于功能检测,而不是浏览器/版本检测。为此,您可以使用诸如之类的工具来确定用户浏览器支持的功能,这使您能够更细粒度地控制如何处理旧浏览器

然而,在IE的旧版本中,浏览器与某些标准严重不兼容,这有时是不够的,在这种特定情况下,确实需要检查浏览器和版本。有鉴于此,有条件注释功能是一件好事。考虑到没有其他浏览器存在这样的问题,它们不支持有条件的评论可能也是一件幸事

在一个理想的世界里,没有人会继续使用需要这种黑客技术的旧版本IE。但是它们是,我们需要支持它们,所以对于那些你不能用特征检测来实现的少数情况,条件注释是一种方法

[编辑]
这是一个老生常谈的答案,但值得重新考虑,因为从IE10开始,条件com
<!--[if IE 6]>
Special instructions for IE 6 here
<![endif]-->