首页 > 代码库 > unigui判断浏览器内核、操作系统以及是否移动终端函数

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判断浏览器内核、操作系统以及是否移动终端函数