unigui判断浏览器内核、操作系统以及是否移动终端函数
function GetDeviceType(var OsName, BrowserName: string; var IsMobileDevice: Boolean): string;
var
I: Integer;
BrowserInfo: string;
OSTypes, BrowserTypes: TStringList;
begin
Result := ''; BrowserName := 'Unknown';
OsName := 'Unknown';
IsMobileDevice := False; BrowserInfo := UniApplication.UniSession.RequestHeader['User-Agent'];
OSTypes := TStringList.Create;
BrowserTypes := TStringList.Create;
try
OSTypes.Add('Ipod');
OSTypes.Add('Ipad');
OSTypes.Add('Iphone'); OSTypes.Add('J2ME/MIDP');
OSTypes.Add('Palm');
OSTypes.Add('BlackBerry');
OSTypes.Add('PlayStation'); OSTypes.Add('Symbian');
OSTypes.Add('Windows Mobile');
OSTypes.Add('Windows CE');
OSTypes.Add('Windows Phone');
OSTypes.Add('PPC');
OSTypes.Add('Android'); OSTypes.Add('Mac');
OSTypes.Add('Windows');
OSTypes.Add('Linux'); OSTypes.Add('Unknown'); //微软IE
BrowserTypes.Add('MSIE 5.5');
BrowserTypes.Add('MSIE 6.5');
BrowserTypes.Add('MSIE 7.0');
BrowserTypes.Add('MSIE 8.0');
BrowserTypes.Add('MSIE 9.0');
BrowserTypes.Add('MSIE 10.0');
BrowserTypes.Add('MSIE 11.0');
BrowserTypes.Add('MSIE'); BrowserTypes.Add('Netscape'); //网景
BrowserTypes.Add('Firefox'); //火狐
BrowserTypes.Add('Chrome'); //谷歌
BrowserTypes.Add('Safari');
BrowserTypes.Add('Opera'); for I := 0 to BrowserTypes.Count - 1 do
begin
if Pos(Uppcase(BrowserTypes[I]), Uppcase(BrowserInfo)) <> 0 then
begin
BrowserName := BrowserTypes[I];
Break;
end;
end; for I := 0 to OSTypes.Count - 1 do
begin
if Pos(Uppcase(OSTypes[I]), Uppcase(BrowserInfo)) <> 0 then
begin
OsName := OSTypes[I];
Break;
end;
end; IsMobileDevice := OSTypes.IndexOf(OsName) <= OSTypes.IndexOf('Android');
finally
FreeAndNil(OSTypes);
FreeAndNil(BrowserTypes);
end;
end; //使用方法
GetDeviceType(OsName, BrowserName, IsMobileDevice);
ShowMessage('操作系统类型:' + OsName);
ShowMessage('浏览器内核:' + BrowserName); if IsMobileDevice then
ShowMessage('移动设备')
else
ShowMessage('非移动设备'); //显示IE浏览器使用
if Pos('MSIE',BrowserName) <> 0 Then
begin
ShowMessage('本系统暂不支持微软IE内核浏览器,推荐使用基于谷歌Chrome内核的浏览器!');
Close;
end;
unigui判断浏览器内核、操作系统以及是否移动终端函数的更多相关文章
- userAgent,JS这么屌的用户代理,你造吗?——判断浏览器内核、浏览器、浏览器平台、windows操作系统版本、移动设备、游戏系统
1.识别浏览器呈现引擎 为了不在全局作用域中添加多余变量,这里使用单例模式(什么是单例模式?)来封装检测脚本.检测脚本的基本代码如下所示: var client = function() { var ...
- JS判断客户浏览器是否是IE8浏览器、jQuery判断浏览器内核
今天在使用encharts的时候由于要兼容IE8,所以最终决定在非IE8浏览器使用encharts,在IE8使用amcharts.于是需要使用JS判断使用的浏览器版本: function IEVers ...
- JQuery或JS判断浏览器内核版本号以及是否支持W3C盒子模型
jQuery 从 1.9 版开始,移除了 $.browser 和 $.browser.version , 取而代之的是 $.support .在更新的 2.0 版本中,将不再支持 IE 6/7/8. ...
- js判断浏览器类型(手机和电脑终端)
工作中经常会用到通过js来判断浏览器的功能!今天这里通过js来判断浏览器是来自移动设备还是pc设备! 代码如下: var browser={ versions:function(){ var u = ...
- C# System.Windows.Forms.WebBrowser中判断浏览器内核和版本
参考 [完美]原生JS获取浏览器版本判断--支持Edge,IE,Chrome,Firefox,Opera,Safari,以及各种使用Chrome和IE混合内核的浏览器 利用js来判断 namespac ...
- js 判断浏览器内核
function getOs() { var OsObject = ""; if(navigator.userAgent.indexOf("MSIE& ...
- js判断浏览器内核如果是ie弹出提示非ie不进行任何操作
如上做一个弹出框针对ie兼容 // 获取IE版本 function IEVersion() { // 取得浏览器的userAgent字符串 var userAgent = navigator.user ...
- js判断浏览器内核和版本(包括手机端设备)
var X, xue;xue = xue || function(expr, fn) { return xue.dom ? xue.dom(expr, fn) : {};};X = xue;wi ...
- 判断浏览器内核JS代码
<script type="text/javascript"> var Sys = {}; var ua = navigator.userAgent.toLowerCa ...
随机推荐
- js拖拽3D立方体旋转
这段时间有点闲,所以就自己找些小玩意来练习练习.今天做了一个可以拖拽页面内空白位置3D立方体就会跟着转动的小例子,布局方面用到css3 3D转换技术,通过transform控制旋转实现的. 上个图 代 ...
- 简单的Datatable转List,Json
这里用到了Newtonsoft.Json,下载地址:http://json.codeplex.com/ 1.根据不同的Model转为对应的List public static List<Mode ...
- Thread线程初探
using System; using System.Threading; class Example { static void Main() { TimeSpan interval = , , ) ...
- Oracle中的通配符
这是scott用户下的EMP表 EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO 7369 SMITH CLERK 7902 1980/12/17 800 ...
- glog使用
How To Use Google Logging Library Glog 的基本使用方法在google code上有介绍:How To Use Google Logging Library ;最好 ...
- android实现可拖动按钮
功能:在Android中实现可拖动按钮,同时实现按钮的点击功能 相关问题: 按钮拖动的界限限定. 按钮单击和拖动之间的冲突. 在界面未显示之前,获得View的高/宽. 问题描述: 如果不为按钮的拖动范 ...
- 【BZOJ 1005】[HNOI2008]明明的烦恼
Description 自从明明学了树的结构,就对奇怪的树产生了兴趣...... 给出标号为1到N的点,以及某些点最终的度数,允许在任意两点间连线,可产生多少棵度数满足要求的树? Input 第一行为 ...
- 关于 iOS10 更新后 360 云盘 的上传按钮消失的解决方案
最近出了iOS10,作为iOS开发者,果断更新. 但是更新完后,打开自己的360云盘,发现想向云盘上传东西,但是传不了,加号按钮不见了. 经过我的研究,原因是 下面的自定义tabbar放置加号按钮的方 ...
- VMware ESXi虚拟机克隆及迁移
使用ESXi经常会遇到这样的问题,我需要建立多个虚拟机,都是linux操作系统,难道必须一个一个安装吗? VMware ESXi.VMware vCenter Server 和 vSphere Cli ...
- [转载]如何申请淘宝app_key、app_secret、SessionKey?
不知道如何申请淘宝开发平台的App Key?其实申请App key很简单,主要了解申请步骤以及各个App key的数据阶段状态就可以了!下面由淘客帝国为您做详细图文讲解!申请比较简单,不过为了新手能够 ...