使用 HTML5shim 后,标签在 IE 9 及以下版本中究竟如何呈现?
我知道 shim 修复了语义样式标签。但它能让元素发挥作用吗?如果不是,浏览器是否会在其位置呈现任何内容?还是简单地把它当作不存在一样对待?
使用 HTML5shim 后,标签在 IE 9 及以下版本中究竟如何呈现?
我知道 shim 修复了语义样式标签。但它能让元素发挥作用吗?如果不是,浏览器是否会在其位置呈现任何内容?还是简单地把它当作不存在一样对待?
shim 所做的是创建一个接受 HTML5 标记并且可以(在某种程度上)支持 CSS 样式的环境。
当旧浏览器遇到未知标签时,它仍然会将其放入 DOM,但只是忽略它(有些非常古老或异国情调的会抛出错误,但至少 IE8- 不会)。
更准确地说,它会将标签视为空白/透明容器,并且仍会处理其中的内容。这就是为什么 IE8- 可以显示“你的浏览器是垃圾,伙计”或启动 Flash 对象以从视频标签内播放 vid。
shim 所做的是将其中一些未知标签(所谓的语义标签,(如果你问我,google bots 蜜罐的美名):页眉、页脚等)克隆到常规跨度或 div 中(它只是这样做加载文档后),以便旧浏览器现在可以看到好的 ole vintage 标签并设置它们的样式。
对于视频/音频标签,HTML5shim 完全没有区别。
您的视频标签确实会被 IE8- 识别为未知标签,并且您将得到通常的“对不起,老兄,您的浏览器是垃圾”显示,只要页面创建者好心提供一个。