only do the UA string search in firefox if we don't have a perfect match on buildId
git-svn-id: file:///home/svn/framework3/trunk@9129 4d416f70-5f16-0410-b530-b9f4589650daunstable
parent
13171ad1c6
commit
01f9c0b616
|
@ -401,29 +401,28 @@ function getVersion(){
|
||||||
case "20100324182054": ua_version = "3.6.2"; os_name = "#{oses::FREEBSD}"; os_flavor = "PC-BSD"; arch = "#{ARCH_X86}"; break;
|
case "20100324182054": ua_version = "3.6.2"; os_name = "#{oses::FREEBSD}"; os_flavor = "PC-BSD"; arch = "#{ARCH_X86}"; break;
|
||||||
case "20100401080539": ua_version = "3.6.3"; os_name = "#{oses::WINDOWS}"; break;
|
case "20100401080539": ua_version = "3.6.3"; os_name = "#{oses::WINDOWS}"; break;
|
||||||
case "20100402010516": ua_version = "3.5.9"; os_name = "#{oses::LINUX}"; os_flavor = "Ubuntu"; break;
|
case "20100402010516": ua_version = "3.5.9"; os_name = "#{oses::LINUX}"; os_flavor = "Ubuntu"; break;
|
||||||
|
default:
|
||||||
|
version = searchVersion("Firefox", navigator.userAgent);
|
||||||
|
// Verify whether the ua string is lying by checking if it contains
|
||||||
|
// the major version we detected using known objects above. If it
|
||||||
|
// appears to be truthful, then use its more precise version number.
|
||||||
|
if (version && version.split(".")[0] == ua_version.split(".")[0]) {
|
||||||
|
// The version number will sometimes end with a space or end of
|
||||||
|
// line, so strip off anything after a space if one exists
|
||||||
|
if (-1 != version.indexOf(" ")) {
|
||||||
|
version = version.substr(0,version.indexOf(" "));
|
||||||
|
}
|
||||||
|
ua_version = version;
|
||||||
|
} else {
|
||||||
|
ua_is_lying = true;
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
if (ua_is_lying) { alert("UA is lying"); }
|
||||||
|
alert(ua_version + " vs " + navigator.userAgent);
|
||||||
|
|
||||||
// end navigator.buildID checks
|
// end navigator.buildID checks
|
||||||
|
|
||||||
// Verify whether the ua string is lying by checking if it contains
|
|
||||||
// what we detected using known objects above as a substring. If it
|
|
||||||
// appears to be truthful, then use its more precise version number.
|
|
||||||
//
|
|
||||||
// XXX: This should probably check only the first 2 sections of the
|
|
||||||
// version number so that things like "3.5.0" don't cause false
|
|
||||||
// positives.
|
|
||||||
version = searchVersion("Firefox", navigator.userAgent);
|
|
||||||
if (version && version.substr(0,ua_version.length) == ua_version) {
|
|
||||||
// The version number will end with a space or end of line, so strip
|
|
||||||
// off anything after a space if one exists
|
|
||||||
if (-1 != version.indexOf(" ")) {
|
|
||||||
version = version.substr(0,version.indexOf(" "));
|
|
||||||
}
|
|
||||||
ua_version = version;
|
|
||||||
} else {
|
|
||||||
ua_is_lying = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
} else if (typeof ScriptEngineMajorVersion == "function") {
|
} else if (typeof ScriptEngineMajorVersion == "function") {
|
||||||
// Then this is IE and we can very reliably detect the OS.
|
// Then this is IE and we can very reliably detect the OS.
|
||||||
// Need to add detection for IE on Mac. Low priority, since we
|
// Need to add detection for IE on Mac. Low priority, since we
|
||||||
|
|
Loading…
Reference in New Issue