在昨天提到用 IE9 看我的网站首页会有点点杯具,本主题我花最多心思的一个分页导航居然在 IE9 下不能用,而且在主题上线一周后才发现这个 bug,这让我情何以堪,情何以堪啊!!!任何 bug 对我来说都是不被允许的,我决心要搞定它。其实要解决这个 bug 一点也不难,既然 IE9 不能实现这个拖动的分页导航,那就把 IE 浏览器直接降级为 IE8 或者 IE7 就可以了。这个方法我之前也有介绍过。这个目前也是很多大型网站使用的兼容方法。
但是,这样做会引起另外一个让我情何以堪的后果。因为我用的是 HTML5 的声明,已经通过了 W3C 的 HTML5 标准验证,但是在 meta 中加入那一行浏览器降级代码之后,HTML5 的 W3C 就无法通过了,就因为那一个错误!好吧,为了我的完美主义,我要绕开这个降级代码,忽悠一下 W3C 验证。
原理很简单,就是用 PHP 判断浏览器的版本,如果是
IE9 再输出那段 meta 信息,那其他浏览也就避开了这段代码,也就可以顺利通过 W3C 验证了。具体方法如下:
';
?>
如果要使用兼容
IE8的模式,将content="ie=7"改为content="ie=8"即可。
这样就可以让 IE9 在不打开兼容模式的前提下强制把 IE9 降级为
IE7,确保网站可以安全运行效果。但是这就又产生另外一个问题,IE9 自称是最能体现 HTML5 和 CSS3 的浏览器,所以本来网站在 IE9 下是可以有圆角有阴影的,但是这样一来,伪 IE7 下就不再有圆角和阴影这些 CSS3 的效果。没有关系,在用户体验方面,网站的功能体现肯定要比美观更重要,两者不用权衡,我选择前者。至此,网站终于可以在IE9也显示正常了。
via:wange.im
标签:IE相关IE9网站X-UA-Compatible