iOS的用户代理 - ipad,iphone,ipad是假的,但应该是真的

时间:2015-09-30 21:48:52

标签: javascript ios iphone ipad user-agent

我正在使用用户代理来检查访问用户是来自ipad还是iphone。

我使用以下内容检查:

var isIOSapp = false;
var isIOS_Ipad;
var isIOS_Ipod;
var isIOS_Phone;

/* Detect if running on iOS */
function getMobileOperatingSystem() {
  var userAgent = navigator.userAgent || navigator.vendor || window.opera;

  if( userAgent.match( /iPad/i ) || userAgent.match( /iPhone/i ) || userAgent.match( /iPod/i ) )
  {
    return 'iOS';

  }
  if( userAgent.match( /iPod/i ) )
  {
    return 'iOSIpod';

  }
  if( userAgent.match( /iPad/i ) )
  {
    return 'iOSIpad';

  }
  if( userAgent.match( /iPhone/i ) || userAgent.match( /iPod/i ) )
  {
    return 'iOSPhone';

  }
}

if(getMobileOperatingSystem() == "iOS") {
    isIOSapp = true;
}
if(getMobileOperatingSystem() == "iOSIpod") {
    isIOS_Ipod = true;
}
if(getMobileOperatingSystem() == "iOSIpad") {
    isIOS_Ipad = true;
}
if(getMobileOperatingSystem() == "iOSPhone") {
    isIOS_Phone = true;
}

从Ipad和Iphone访问时,我得到以下内容:

isIOSapp = true
isIOS_Ipad = undefined
isIOS_Phone = undefined
isIOS_Ipod = undefined

所以似乎在第一个if条件下触发了某些东西。

出现了什么问题,因为单个设备isIOS_Ipad isIOS_Phone isIOS_Ipod没有出现= true?

对于isIOSapp来说,你认为至少应该= = true来触发= true

0 个答案:

没有答案