Ian*_*Ian 0 php browser-detection internet-explorer-6
如果浏览器是IE6/IE7,我需要显示不同的HTML.我知道如果我们只讨论样式信息,条件注释工作正常,但在这种特殊情况下它是实际的标记.
我将有一个无序的图像列表,它将是png-24.它们将具有圆角(因此需要png-24提供的透明度)并且将在CSS(3)中具有圆形边框样式.由于IE6无法识别png-24,我希望有一个替代的图像列表,这些图像是jpg已经包含在图像中的边框.这将使IE6/IE7保持高兴,而符合标准的浏览器将获得正确的版本.
(我这样做是因为该网站可能会成长为许多图像,并且需要很容易为主题.如果我在代码中生成边框,只需更改边框颜色并在网站范围内更改.我意识到IE仍然会必须是手动的,但如果他们真的希望IE6支持它,我可以为此单独收费.)
所以我的问题是使用PHP执行此操作的最佳方法是什么?是否有任何缺点?
您可以在PHP中检测它并发送不同的HTML:
$using_ie6 = ((strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 6.') !== FALSE) || (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 6,0') !== FALSE));
if ($using_ie6) {
...
}
else {
...
}
Run Code Online (Sandbox Code Playgroud)
这种方法的缺点是显然Opera有时会发送MSIE 6它的用户代理头,这也可能与IE mobile匹配.
将不同的内容发送到不同的浏览器通常是最好避免的,尽可能避免 - 你最终会得到许多重复的代码,带来所有固有的弊端.