`

检查浏览器版本类

    博客分类:
  • php
 
阅读更多
class BrowserDetector {
var $UA = ""; //$HTTP_USER_AGENT的内容
var $BROWSER= "Unknown"; //浏览器类型
var $PLATFORM = "Unknown"; //操作系统
var $VERSION= ""; //浏览器版本号
var $MAJORVER = ""; //浏览器主版本号
var $MINORVER = ""; //浏览器副版本号
/* 构造函数开始 */
function BrowserDetector(){
$this->UA = getenv(HTTP_USER_AGENT);
$preparens = "";
$parens = "";
$i = strpos($this->UA,"(");
if ($i >= 0) {
$preparens = trim(substr($this->UA,0,$i));
$parens = substr($this->UA,$i+1,strlen($this->UA));
$j = strpos($parens,")");
if($j>=0) {
$parens = substr($parens,0,$j);
}
}
else {
$preparens = $this->UA;
}
$browVer = $preparens;
$token = trim(strtok($parens,";"));
while($token) {
if($token=="compatible") {
}
elseif(preg_match("/MSIE/i","$token")) {
$browVer = $token;
}
elseif(preg_match("/Opera/i","$token")) {
$browVer = $token;
}
elseif(preg_match("/X11/i","$token") || preg_match("/SunOS/i","$token") || preg_match ("/Linux/i","$token")) {
$this->PLATFORM = "Unix";
}
elseif(preg_match("/Win/i","$token")) {
$this->PLATFORM = $token;
}
elseif(preg_match("/Mac/i","$token") || preg_match("/PPC/i","$token")) {
$this->PLATFORM = $token;
}
$token = strtok(";");
}
$msieIndex = strpos($browVer,"MSIE");
if($msieIndex >= 0) {
$browVer = substr($browVer,$msieIndex,strlen($browVer));
}
$leftover = "";
if(substr($browVer,0,strlen("Mozilla")) == "Mozilla") {
$this->BROWSER = "Netscape";
$leftover=substr($browVer,strlen("Mozilla")+1,strlen($browVer));
}
elseif(substr($browVer,0,strlen("Lynx")) == "Lynx") {
$this->BROWSER = "Lynx";
$leftover=substr($browVer,strlen("Lynx")+1,strlen($browVer));
}
elseif(substr($browVer,0,strlen("MSIE")) == "MSIE") {
$this->BROWSER = "IE";
$leftover=substr($browVer,strlen("MSIE")+1,strlen($browVer));
}
elseif(substr($browVer,0,strlen("Microsoft Internet Explorer")) == "MicrosoftInternet Explorer") {
$this->BROWSER = "IE";
$leftover=substr($browVer,strlen("Microsoft Internet Explorer")+1,strlen($browVer));
}
elseif(substr($browVer,0,strlen("Opera")) == "Opera") {
$this->BROWSER = "Opera";
$leftover=substr($browVer,strlen("Opera")+1,strlen($browVer));
}
$leftover = trim($leftover);
$i=strpos($leftover," ");
if($i > 0) {
$this->VERSION =substr($leftover,0,$i);
}
else {
$this->VERSION = $leftover;
}
$j = strpos($this->VERSION,".");
if($j >= 0) {
$this->MAJORVER =substr($this->VERSION,0,$j);
$this->MINORVER =substr($this->VERSION,$j+1,strlen($this->VERSION));
}
else {
$this->MAJORVER = $this->VERSION;
}
}
}
//测试程序开始
$test=new browserdetector;
echo $test->UA."
";
echo $test->BROWSER."
";
echo $test->PLATFORM."
";
echo $test->VERSION."
";
echo $test->MAJORVER."
";
echo $test->MINORVER."
";
?>
分享到:
评论

相关推荐

    jQuery判断浏览器版本过低提示代码

    接着,我们可以编写一个JavaScript函数来检查浏览器版本。例如: ```javascript function checkBrowserVersion() { var userAgent = navigator.userAgent; var browser = { chrome: /Chrome/.test(userAgent), ...

    判断浏览器版本及类型

    这种方法通过检查浏览器是否支持某个特性来判断浏览器的能力,而不是直接依赖于浏览器的版本信息。 #### 3.2 使用现代工具 可以考虑使用如Modernizr这样的库来检测浏览器支持的功能,而无需关心具体的浏览器类型和...

    problem 浏览器低级版本不识别元素问题

    这个库通常会检查浏览器是否支持如`<canvas>`、`<video>`、`<audio>`、`<section>`、`<article>`等HTML5新元素,以及`localStorage`、`web workers`、`geolocation`等API,如果发现不支持,它会提供一个替代的...

    ASP.NET获取客户端IP地址_系统版本_浏览器版本

    本文将详细介绍如何在ASP.NET中获取客户端的IP地址、操作系统版本和浏览器版本。 ### 获取客户端IP地址 在ASP.NET中,获取客户端IP地址是通过`HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]`来实现...

    ASP.NET获取客户端的操作系统、浏览器、.NET版本等信息

    UserAgent字符串包含了客户端浏览器发送的关于其自身的一系列信息,包括操作系统、浏览器版本等。例如: ```csharp string userAgent = Request.UserAgent; ``` 然后,你可以通过解析这个字符串来提取操作系统信息...

    浏览器引擎分类(兼容测试)

    - **界面一致性**:检查不同浏览器下页面布局和样式的差异,确保视觉体验的一致性。 - **性能测试**:评估网站在各种浏览器中的加载时间和资源消耗情况。 - **错误处理**:验证网站在遇到兼容性问题时是否能正确地...

    IETes 测试ie低版本浏览器

    5. **DOM和BOM差异**:不同IE版本的文档对象模型(DOM)和浏览器对象模型(BOM)可能有所不同,需要通过IETester检查其一致性。 6. **调试工具**:IETester通常会提供一些基本的调试工具,如查看元素、控制台日志等...

    .net和 vb WebBrowser 浏览器兼容问题

    解决这类问题的一般步骤包括: 1. **检查注册表**:确保所有与WebBrowser控件相关的注册表项已正确注册。这可能涉及到.NET Framework的注册,以及COM组件(如MSHTML)的注册。 2. **更新或修复.NET Framework**:...

    PHP实现的浏览器检查类

    创建了一个名为`BrowserDetector`的类,类中包含了一些成员变量用于存储用户代理字符串、浏览器类型、平台类型、浏览器版本号等信息。通过类的构造函数,初始化这些变量,尤其是`$UA`变量,它将保存HTTP_USER_AGENT...

    php获取客户端的ip、地理信息、浏览器信息等内容的类.zip

    为了处理这种情况,该类可能还会检查其他HTTP头,如`HTTP_X_FORWARDED_FOR`和`HTTP_CLIENT_IP`,以找到最接近客户端的真实IP。 其次,获取地理信息通常涉及到IP地址到地理位置的映射。这个过程可以通过查询IP数据库...

    电脑浏览器变手机浏览器方法

    这里特别提到了360浏览器和UC浏览器,它们是支持这类插件的浏览器实例。360浏览器是中国的一款流行浏览器,它基于 Chromium 内核并提供了一些额外的安全特性;UC浏览器则是一款全球使用的手机及电脑浏览器,尤其在...

    web 浏览器兼容工具

    4. **浏览器版本问题**:旧版本的浏览器可能不支持新的Web技术,而新版本又可能存在bug或者未定义的行为。 "易了千明编程助手.exe"可能是一款集成了浏览器兼容性测试功能的软件,它可以帮助开发者快速检测网页在...

    浏览器无法运行JAVA的修复脚本.rar

    3. **安全设置**:检查浏览器的安全级别设置,可能需要将Java设置为“受信任的站点”或降低安全级别以允许Java内容执行。 4. **清理缓存**:清理浏览器的历史记录,特别是临时互联网文件,以消除可能的错误数据。 ...

    各种浏览器的User-Agent信息包括手机端的浏览器

    通过分析和理解User-Agent信息,开发者可以了解用户使用何种浏览器,是否为移动设备,甚至操作系统和浏览器版本,这对于网页适配、性能优化以及安全策略制定都具有重要意义。 在“List-of-user-agents”这个压缩包...

    CSS布局中可以用javascript判断浏览器版本

    因此,通过检查浏览器是否支持该对象,我们可以初步判断浏览器版本。 接下来,代码中还使用了`window.ActiveXObject`属性来检测旧版本的IE浏览器。`ActiveXObject`是IE浏览器特有的一个用于创建ActiveX对象的构造...

    小水粒扩展+低版本谷歌浏览器

    随着时间推移,新版本的扩展可能会停止支持较旧的浏览器版本。因此,安装和运行小水粒扩展在低版本谷歌浏览器上可能需要一些技巧,例如禁用自动更新、寻找适用于旧版本的特定分支或使用兼容性设置。 为了在低版本...

    搜狗浏览器ocx下载异常

    8. **更新浏览器**:保持搜狗浏览器版本最新,因为新版本可能已经修复了导致下载异常的问题。 解决这类问题通常需要一定的排查步骤,从网络状况到系统设置,再到软件冲突。在“DownloadOCX”这个文件名中,我们可以...

    浏览器兼容

    “高校图书馆网站对浏览器兼容性测试.pdf”和“高校网站对浏览器兼容性测试.pdf”可能包含了针对特定类型网站的兼容性测试数据,比如教育机构的网站,这些网站可能有特定的技术需求和用户群体,因此测试结果对于这类...

    让IE旧版本浏览器也支持HTML5的特性

    2. **检测浏览器兼容性**:在脚本中,通常会有条件语句来检查浏览器类型和版本,确保只有在需要的时候才加载polyfill。 3. **使用HTML5新特性**:一旦html5.js生效,开发者就可以像在现代浏览器中一样,使用HTML5的...

Global site tag (gtag.js) - Google Analytics