So erkennen Sie die Browserversion und das Betriebssystem mithilfe von JavaScript
Problem:
Bei der Verwendung Mit dem bereitgestellten Code funktioniert die Browsererkennung in Chrome und Mozilla, schlägt jedoch in IE6 fehl. Die Anforderung besteht darin, die Browserversion, z. B. „Firefox/12.0“, gezielt aus der Benutzeragentenzeichenfolge zu extrahieren.
Lösung:
Um die Browserversion effektiv zu erkennen und Betriebssystem mit JavaScript zu verwenden, ist ein umfassenderer Ansatz erforderlich. Hier ist ein Skript, das das Problem behebt:
var nVer = navigator.appVersion; var nAgt = navigator.userAgent; var browserName = navigator.appName; var fullVersion = '' + parseFloat(navigator.appVersion); var majorVersion = parseInt(navigator.appVersion, 10); var nameOffset, verOffset, ix; // Determine browser name and version based on user agent string if ((verOffset = nAgt.indexOf("OPR")) != -1) { // Opera browserName = "Opera"; fullVersion = nAgt.substring(verOffset + 4); if ((verOffset = nAgt.indexOf("Version")) != -1) { fullVersion = nAgt.substring(verOffset + 8); } } else if ((verOffset = nAgt.indexOf("Edg")) != -1) { // Microsoft Edge browserName = "Microsoft Edge"; fullVersion = nAgt.substring(verOffset + 4); } else if ((verOffset = nAgt.indexOf("MSIE")) != -1) { // Microsoft Internet Explorer browserName = "Microsoft Internet Explorer"; fullVersion = nAgt.substring(verOffset + 5); } else if ((verOffset = nAgt.indexOf("Chrome")) != -1) { // Chrome browserName = "Chrome"; fullVersion = nAgt.substring(verOffset + 7); } else if ((verOffset = nAgt.indexOf("Safari")) != -1) { // Safari browserName = "Safari"; fullVersion = nAgt.substring(verOffset + 7); if ((verOffset = nAgt.indexOf("Version")) != -1) { fullVersion = nAgt.substring(verOffset + 8); } } else if ((verOffset = nAgt.indexOf("Firefox")) != -1) { // Firefox browserName = "Firefox"; fullVersion = nAgt.substring(verOffset + 8); } else if ( (nameOffset = nAgt.lastIndexOf(" ") + 1) < (verOffset = nAgt.lastIndexOf("/")) ) { browserName = nAgt.substring(nameOffset, verOffset); fullVersion = nAgt.substring(verOffset + 1); if (browserName.toLowerCase() == browserName.toUpperCase()) { browserName = navigator.appName; } } // Trim fullVersion string to remove semicolon or space if present if ((ix = fullVersion.indexOf(";")) != -1) { fullVersion = fullVersion.substring(0, ix); } if ((ix = fullVersion.indexOf(" ")) != -1) { fullVersion = fullVersion.substring(0, ix); } // Convert fullVersion to number and fall back to navigator.appVersion if conversion fails majorVersion = parseInt("" + fullVersion, 10); if (isNaN(majorVersion)) { fullVersion = "" + parseFloat(navigator.appVersion); majorVersion = parseInt(navigator.appVersion, 10); } // Display browser and version information document.write( "" + 'Browser name = ' + browserName + "<br>" + 'Full version = ' + fullVersion + "<br>" + 'Major version = ' + majorVersion + "<br>" + 'navigator.appName = ' + navigator.appName + "<br>" + 'navigator.userAgent = ' + navigator.userAgent + "<br>" );
Dieses aktualisierte Skript bietet eine robustere Methode zur Erkennung der Browserversion und des Betriebssystems durch gründliche Analyse der Benutzeragentenzeichenfolge. Es verarbeitet verschiedene Browsertypen und -versionen, einschließlich Internet Explorer 6. Durch das Parsen der Benutzeragentenzeichenfolge extrahiert dieses Skript genau die gewünschte Browserversion, z. B. „Firefox/12.0“, und stellt gleichzeitig detaillierte Informationen über den Browser und das System bereit.
Das obige ist der detaillierte Inhalt vonWie kann man mithilfe von JavaScript Browserversion und Betriebssystem zuverlässig erkennen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!