我一直在研究HTML5和CSS3,并且一直很喜欢它。
了解了modernizr
API,但我陷入了困境,这导致了进一步的混淆:
我如何编写适合浏览器之间不兼容情况的代码?
这导致以下混淆:
<!DOCTYPE HTML>
并且我的页面是在IE6中访问的,那么IE6将处理该页面吗?<video>
标签并且IE6 / IE7IE8(不支持此标签)再次访问该页面,那么我应该如何回滚闪存呢?我应该使用一些JS来恰当地显示/隐藏内容吗?我很想听听你们的一些想法。 如果需要,请将此帖子标记为社区维基。
谢谢!
答案 0 :(得分:4)
直接回答你的问题,
您必须意识到新的<!DOCTYPE HTML>
doctype仅用于触发浏览器中的标准兼容模式。传统上,从浏览器的角度来看,这个(称为doctype切换)是doctype用于唯一的东西。因此,简而言之,如果您使用的是已触发标准模式的doctype,则IE6不会发生任何变化。
您可以使用Modernizr之类的脚本进行特征检测。这将允许您仅在需要时使用Flash作为后备,并为支持它们的浏览器提供正确类型的电影。即使您不使用该脚本,您仍然可以查看其来源以了解如何完成此操作。
或者,<video>
和<audio>
标记专门允许将后备内容嵌入其中。这意味着您只需使用<video>
标记包装Flash内容,如果浏览器不支持它们,则只会使用后备内容。
答案 1 :(得分:1)
您需要的三件事:
1.查看supported features列表
2.检测HTML5 features
3. Use Graceful Degradation