2016-04-07 10 views
1

Ich ändere ein Fehler-Tracking-System und ich habe die Felder für die Benutzereingabe 'Plattform', 'OS' und 'OS-Version', möchte ich Erkennungsschaltflächen, die beim Klicken verwendet verschiedene 'Navigator Object Properties' Fein- und arbeitet für ‚Plattform‘ und ich die meisten, wenn alle Objekteigenschaften nicht Informationen zu extrahieren (siehe unten) -Können Sie einen Teil des Benutzeragenten extrahieren und anzeigen?

<ul id="clickme"> 
    <li><a href="#/" id="element1" type="button" onclick="javascript:changeText(1)">Find for me</a></li> 
</ul> 


<div style="" id="hidden" hidden> 
    <div id="demo"></div> 
<script> 
var txt = ""; 
txt += "<p>Browser CodeName: " + navigator.appCodeName + "</p>"; 
txt += "<p>Browser Name: " + navigator.appName + "</p>"; 
txt += "<p>Browser Version: " + navigator.appVersion + "</p>"; 
txt += "<p>Cookies Enabled: " + navigator.cookieEnabled + "</p>"; 
txt += "<p>Browser Language: " + navigator.language + "</p>"; 
txt += "<p>Browser Online: " + navigator.onLine + "</p>"; 
txt += "<p>Platform: " + navigator.platform + "</p>"; 
txt += "<p>User-agent header: " + navigator.userAgent + "</p>"; 


document.getElementById("demo").innerHTML = txt; 
</script> 
</div> 

Sie werden bemerken, eine Taste ist, dass die Anzeige enthalten schaltet.

Problem ist, dass ich eine einfache Antwort für "OS" und "OS-Version" nicht extrahieren kann.

Ich sehe die gewünschten Informationen innerhalb des User Agents, es wäre sehr hilfreich, wenn jemand einen Weg wüsste, diese Informationen vom User Agent eines Benutzers zu erhalten, wenn sie einen Fehler melden, ist das möglich?

Ein Beispiel für meine User-Agent ist ‚User-Agent-Header: Mozilla/5.0 (Macintosh, Intel Mac OS X 10_11_1) AppleWebKit/537,36 (KHTML, wie Gecko) (// entfernt Browser Teil)

I brauche dieses Bit "(Macintosh; Intel Mac OS X 10_11_1)" und möchte es formatieren können.

Ich weiß, ich machte diese Frage ein wenig langatmig, aber alle Hinweise oder Alternativen würden geschätzt werden - Keine der Fragen hier waren relativ zu meinem Problem.

(der Code oben ist von W3 Schulen, aber es war ein gutes Beispiel für alle Objekte)

Danke, Paddy.

Antwort

1

Es ist eine nette Bibliothek, die Sie dies tun, hilft: https://github.com/faisalman/ua-parser-js

Beispiel:

<script type="text/javascript" src="ua-parser.min.js"></script> 
<script type="text/javascript"> 
    var parser = new UAParser(); 
    var os = parser.getOS(); 
    console.log(os.name, os.version); 
</script> 
+0

Das sieht aus wie genau das, was ich brauche, Thank you very much. Derzeit habe ich dieses Skript in eine Testseite eingefügt und dieses Paket heruntergeladen. Es scheint nichts zu zeigen? Es ist offensichtlich meine Schuld, aber muss ich irgendetwas wissen? Wahrscheinlich haben Sie einen Syntaxfehler haha ​​ – phppaddy

+0

Der Befehl console.log meldet sich an der Entwickler-Konsole Ihres Browsers an. Wenn Sie es im Browserfenster anzeigen möchten, verwenden Sie zum Beispiel alert (os.name). Und überprüfe den Pfad zu ua-parser.min.js;) – Jojo

+0

Ah! Perfekt jetzt, implementiert es in meinem 'var txt;' - Absolut genau richtig! genau das, was ich brauchte, haha. Sehr geschätzter Jojo! :) – phppaddy

Verwandte Themen