- 浏览: 160877 次
- 性别:
- 来自: 杭州
文章分类
最新评论
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."
";
?>
发表评论
-
实时编辑表格
2014-06-03 10:08 751实时编辑表格 -
手把手教你在Ubuntu上安装Apache、MySql和PHP
2013-07-11 15:25 01:首先安装apache:打开终端(ctrl+Alt+t), ... -
正则取a
2013-04-17 16:29 0<a[^>]*href=["'](?[^ ... -
操作字符串
2013-04-09 15:42 735strpos() - Find the position ... -
php oracle CLOB
2013-03-05 10:49 21541.php insert oracle 的CLOB字段 ... -
ckeditor配置
2013-04-09 15:42 1175// 界面语言,默认为 'en'config.langua ... -
格式化文件大小
2013-04-09 15:41 826function formatBytes($bytes) ... -
PHP显示Deprecated: Assigning the return value of new by reference is deprecated in
2013-04-09 15:41 898昨晚用Spreadsheet_Excel_Rea ... -
PHP的位运算
2013-01-09 10:34 837$a & $b and(按位与) $a | $b o ... -
cookie和会话(三)
2012-12-10 22:30 8831:如何传输会话ID 会 ... -
cookie和会话(二)
2012-12-07 23:34 1708会话 除了能够在客户机和服务器之间发送少量信息外,还 ... -
cookie和会话(一)
2012-12-05 23:04 1361cookie解决了跟踪各个访问者或用户,服务器利用cook ... -
(转)匹配中文
2012-11-27 17:13 1000在javascript中,要判断 ... -
php+jquery+ajax+json简单小例子
2012-11-22 23:52 75037直接贴代码: <html> <titl ... -
PECR
2012-11-20 22:13 985经常使用的分隔符是正斜线(/), hash符号(#) 以 ... -
几个经典函数
2012-11-20 00:19 9331:是否为邮件 function is_email($em ... -
html2fpdf HTML转换为PDF
2012-11-14 12:33 6482下载html2fpdf包: downurl:http://s ... -
匹配链接
2012-10-30 11:43 807有一段类似下面的代码,匹配所有的链接地址: $code = ... -
PHP获取类名及所有函数名
2012-08-24 11:48 11763PHP获取类名及所有函数名1.获取行号、文件路径文件名、类名、 ... -
获取<meta>中的content标签内容
2012-02-24 09:04 2028php函数:$tags = get_meta_tags ( ' ...
相关推荐
本文实例讲述了PHP实现的浏览器检查类。分享给大家供大家参考,具体如下: <?...//原作者:epsilon7 //SonyMusic([email]sonymusic@163.net[/email]) ... //浏览器版本号 var $MAJORVER = ; //浏览器主版本号
傲游3浏览器是国内唯一具有独立内核的桌面浏览器产品,首创双核浏览模式,在安全、快速的基础上,保证了对网银、网购类网站的兼容性。傲游3浏览器内置云端广告过滤系统,强大而易用,确保用户在浏览网页时不受任何...
Mac OS X和Linux版本正在研发中,并于2009年6月5日首次针对开发者推出Mac和Linux版官方Chrome浏览器,正式版将于日后推出。 Google Chrome Logo [编辑本段]操作系统 谷歌公司于2009年7月7日宣布,将在其Chrome...
NodeJS和浏览器JavaScript代码类 Codejs为带有字符分隔符或定界符的复合代码提供了一个强大的类工厂。 使用支持的格式之一( array , string或object )使用数据创建新的代码对象或重建现有的代码对象。 功能包括...
概述:清理缓存、cookies 和浏览器历史记录,管理标签,检查浏览器隐私并提高性能。 描述: 清理缓存、cookies和浏览器历史记录,管理标签,检查浏览器隐私并提高性能。 TrendMicroCleanerOneChromeCleaner是最好的...
es-compat 检查JavaScript代码与目标浏览器和Node.js版本的兼容性 检查您的目标是否支持代码中使用的语言功能。 工具类 独立CLI工具 -ESLint插件 基本原理 您可能不需要Transpiler... 它不检查浏览器/运行时特定的AP
我们主要将其用于在不同浏览器之间进行样式调整,或者有时您可能需要添加一些脚本(很难检测到击键处理的差异)或在特定平台组合上进行调整,因此您可能需要检查一下是否那讲得通。 结果非常粗糙。 如果找到IE,...
1、本系统使用TSDQQ网址导航内核,保留了基本常用功能,后台无限制,兼容现代主流浏览器。 2、网站无预留后门,无病毒,通过自带的程序,本地IIS,上传至空间任何目录均可直接使用。 3、此版为免费版 语言版本:GB...
一个浏览器扩展,可以记住您用于编程语言,框架,数据库等的文档版本。 解决的问题: 忘记Django查询过滤器的语法。 在Google上搜索“ django查询过滤器”。 单击官方Django文档的链接。 请注意,它显示的是...
nuken在此处检查是否正在运行的任何版本是最新版本。 v5.0和Education版本的官方开发套件可在此处下载。 如果您打算实际使用nuken,并且想知道从哪里开始,可以在这里进行: 感谢您的支持!nuken | 在线编辑在线...
(2)TBox更新:在偏好设置页启动[TBox更新程序],即可检查更新并进行版本更新。 3.项目结构 (1)TBox:TBox整体上主要由四个大的模块构成,分别是组件、插件、主窗口、插件管理器。组件就是一些自己封装的控件,...
版本:20.3.10 作者:https://www.avg.com/ko-kr/homepa 分类:网页增强 ---------------------------------------- 概述:AVG 为您的 Google Chrome 浏览器提供保护。 使用最新版 AVG 浏览器安全和 Web 信誉插件让...
-始终使用TypeScript编写所有内容,并且自动剥离浏览器/离子版本的服务器代码。 -利用框架的强大功能编写,健壮,干净的NodeJS后端连接到SQLite,Mysql,WebSQL,MongoDB等 -借助同构实体类,可以保持惊人的代码...
语言:English 从Browserstacks模拟器中提取设备信息 您是否在努力改善互联网? 使用浏览器堆栈之类的工具在生产流程中的...-设备-浏览器-浏览器版本-操作系统-操作系统版本-方向-分辨率-视口-引导程序大小-日期-时间
例如,您可以使用以下描述检查您的浏览器是否使用 IE 8 或更早版本,是否安装了 Meiryo 字体并可查看,并将结果作为类添加到 HTML 元素:.. $ ( function ( ) { $ . clientenv ( { font : { family : '"メイリオ...
浏览器:任意浏览器 系统功能介绍: 系统权限按管理员,用户和业务员这三类涉及用户划分。 (a) 管理员;管理员使用本系统涉到的功能主要有:首页,个人中心,用户管理,业务员管理,汽车类型管理,租赁汽车管理,...
恒星银河征服的回合制多人浏览器游戏。 检查 。服务器要求MySQL ^ 5.7.31 / MariaDB(未经测试,但应该可以使用) PHP 7.3以上NodeJS ^ 15.8.0,npm ^ 7.5.1在制品这是一项艰巨而早期的工作,尚无法在任何实现中使用...
用于检查屏幕(视口)上元素的位置并向该元素添加类:在视口类中:view-in和[view-in--gt-half,view-in--gt-thrid,view- in--full],Out视口类:view-out和[view-out-below,view-out-above]中的一种,它侦听滚动...
版本:2.38.0 作者:Wezelkrozum 分类:休闲娱乐 ---------------------------------------- 概述:让自己沉浸在流光溢彩的 YouTube 视频中! 此扩展程序将在您的浏览器中用流光溢彩环绕 YouTube 视频。无需额外的...
它是一个设计和构建的库,可以用浏览器中的颜色完成您想做的所有事情。 此页面致力于与开发相关的所有内容。 有关文档,请访问! 安装 既然是在凉亭里,那真的很简单。 bower install js-colors 如果你不想使用 ...