谷歌到这篇文章说是 ”微博的关注按钮使用了wb标签,没有指定命名空间“,将”<html>“ 改成 ”<html xmlns:wb="http://open.weibo.com/wb">“,果然ie6/7/8可以了。
但是该了之后功能是可以了,但是使用http://validator.w3.org/验证页面时,会报错:
Error Line 7, Column 57: Attribute xmlns:wb not allowed here.
<html lang="zh-cn" xmlns:wb="http://open.weibo.com/wb">
既想验证通过又想不让ie6/7/8不报错,就只能分开处理了,使用条件注释:
<!--[if lt IE 9 ]> <html lang="zh-cn" xmlns:wb="http://open.weibo.com/wb"> <![endif]-->
<!--[if (gte IE 9)|!(IE)]><!--> <html lang="zh-cn" prefix="wb: http://open.weibo.com/wb"> <!--<![endif]-->
解决方案来自: stackoverflow
这问题的价值在于:让你搞清xmlns(指定可供选择的命名空间)是用来干什么的。
声明命名空间:
在HTML元素上使用XMLNS属性来声明命名空间,如下:
<HTML XMLNS:MY>
你也可以在一个HTML元素上定义多个命名空间,就像下面这样:
<HTML XMLNS:MyNS1 XMLNS:MyNS2="www.microsoft.com">
一旦命名空间被定义,那么就要把它作为前缀来自定义标签,正如微博按钮这样"<wb:follow-button uid="1785833173" type="red_1" width="67" height="24" ></wb:follow-button>"。
ie浏览器对这样的命名空间声明的支持是基于 W3C Namespaces in XML
参考: