提问人:Jeff 提问时间:10/31/2009 最后编辑:Jeff 更新时间:11/1/2009 访问量:763
检查 Internet Explorer。PHP 与条件注释?
Check for internet explorer. PHP vs. ie conditional comments?
问:
因此,我决定将我的 CSS 分解为一个仅限 ie6 和 ie7 的文件。我将在此文件中包含仅针对 ie6 和 ie7 的 CSS 规则,例如:
div {
*color: red; /* target ie7 and below */
_color: green; /* target ie6 and below */
}
如果可能的话,我更喜欢使用 PHP with 来检测浏览器,而不是条件注释。$_SERVER['HTTP_USER_AGENT']
我知道访问者可以“欺骗”他们的用户代理并声称是他们想要的任何浏览器,但是使用 PHP 而不是条件注释来检测浏览器的一般意见是什么?
答:
4赞
Daniel A. White
10/31/2009
#1
是否希望在每次请求页面时都进行字符串比较?我不会。我会把这个留给浏览器。
评论
1赞
Jeff
10/31/2009
那么,这是投票赞成吗?字符串比较非常平凡和微小。ie-conditionals
4赞
mauris
10/31/2009
#2
恕我直言 - 使用 IE 条件注释。与服务器上的处理相比,它们的速度要快得多!想想看,如果你的服务器上有 100 个客户端在处理这个问题,那么与委派给这 100 个客户端进行渲染和处理相比,你的服务器速度会变慢。
即使你缓存它并且不是每次都在服务器上渲染它,它也不值得服务器负载。
评论
0赞
Jeff
10/31/2009
谢谢莫里斯,但我已经有了一个剧本。只是想知道使用PHP与条件注释的意见。=)
1赞
mauris
10/31/2009
使用 IE 条件注释。与服务器上的处理相比,它们的速度要快得多!想想看,如果你的服务器上有 100 个客户端在处理这个问题,那么与委派给这 100 个客户端相比,你的服务器速度会变慢。
0赞
Jeff
11/1/2009
我之所以选择条件注释,是因为该变量是“混蛋”,正如 AnonJr 在下面的评论中所说的那样。$_SERVER
0赞
Jason
11/1/2009
#3
作为替代方案,这对我来说效果很好,您可以使用css_browser_selector.js。有了它,你的样式表看起来会更像这样:
.ie7 div {
color: red; /* target ie7 */
}
.ie6 div {
color: green; /* target ie6 */
}
评论