有时我们需要提供特定的内容或对某些Web浏览器进行调整。 有几种方法可以这样做。 例如,我们可以使用JavaScript BrowserDetect.browser
函数 。 我们还可以使用以下注释标记专门针对Internet Explorer 。
Modernizr对于浏览器的功能检测很有用,因此我们可以修补不支持的功能。 我们还可以使用CSS3媒体查询 ,尽管它不是为了检索浏览器信息而设计的,但是它对解决网站呈现问题很有用,尤其是在移动浏览器中。
PHP浏览器检测
但是,所有这些方法仅改变了正面,而文档标记中的实际内容仍然不受影响。 假设我们有两个<div>
元素,一个用于Internet Explorer,另一个用于另一个。 无论使用什么浏览器,这两个元素实际上都将保留在文档中。
在某些情况下,这些方法可能不是理想的解决方案。 因此,唯一可行的选择是使用服务器端语言,例如PHP 。 如果您使用的是WordPress,则可以使用名为PHP Browser Detection的插件轻松实现。
条件函数
激活此插件后,它在仪表板中什么也不会给您。 相反,它提供了一些可在主题文件中使用的条件函数-例如page.php,index.php等。 它允许在所有流行的台式机和移动设备(例如iPad和iPhone)中进行检测。
基本用法
让我们看一些用法示例。 假设我们只想向Internet Explorer用户显示通知。 我们可以在<body>
下的header.php中编写类似的内容。
<?php if ( is_IE() ) {
$browserInfo = php_browser_info();
$browser = $browserInfo[browser];
$version = $browserInfo[version];
echo '<div class="browser-notification">You are using '.$browser.' '.$version.' . Please, update your browser for better experience.</div>';
}; ?>
通过样式表中的一些样式调整, Internet Explorer用户将看到以下内容。
但是,当我们在其他浏览器 (Firefox,Opera,Safari和Chrome)中看到它时,则不会生成通知标记。
如前所述,我们还可以针对移动设备,这对于在移动平台上优化WordPress网站非常有用。 假设您已在主题中启用了后缩略图支持,我们可以将以下功能添加到index.php中,以在移动设备中提供较低的图像分辨率,并为桌面浏览器提供较高的分辨率。
<?php if ( is_mobile() ) {
the_post_thumbnail( 'small' );
} else {
the_post_thumbnail( 'large' );
}; ?>
这些只是几个示例,请转到WordPress.org页面以更详细地了解此插件 。
翻译自: https://www.hongkiat.com/blog/wordpress-browser-type-detection/