3

我正在开发的 wordpress 主题中设置 IE 检查。我想检查 Internet Explorer 7。所以如果我使用以下代码:

<?php
if (preg_match('/\bmsie 7/i', $ua) && !preg_match('/\bopera/i', $ua))
echo 'Do Something' 
?>

代替:

<!--[if lt IE 7]>
Do Something
<![endif]-->

它有什么缺点吗?仅在需要时才尝试加载 HTML。任何见解都值得赞赏。

编辑

发现这篇关于 PHP 方式的非常好的文章:http ://www.kingofdevelopers.com/php-classes/get-browser-name-version.php

4

4 回答 4

2

尝试检测涵盖许多可能的浏览器的平台、引擎和版本,然后让我在此基础上编写代码,例如引擎 gecko,涵盖 firefox、seamonkey 和所有基于 gecko 的浏览器。

在 php 中使用

$browser = get_browser(null, true);
print_r($browser);
于 2012-11-11T05:56:33.517 回答
1

两者都是对的。第二种方式是客户端,如果您使用一些常见的活动,例如 - 包括 SVG 特定元素、IE 特定样式表等,这将是有益的,您将减少服务器端处理。

于 2012-11-11T05:57:55.517 回答
0

我同意 user1759084,他们都是“正确的”,但我要补充一点,这取决于您交付的 HTML 数量。如果数量很大,则在服务器上进行检查(php 检查)更有意义,如果只是几行,则最好让客户端决定(HTML 条件)。您确实应该使用功能检测而不是浏览器检测,但在某些情况下它不起作用。

于 2012-11-11T06:06:13.533 回答
0

你可以使用这个类的php。那是准确检测到 http://www.phpclasses.org/package/2525-PHP-Detect-the-browser-type-and-capabilities-category.html

于 2012-11-11T06:27:38.690 回答