Erkennen Sie Telefon / Tablet / Web-Client mit Javascript

Ich versuche zu erkennen, ob der Endbenutzer ein Telefon, ein Tablet oder einen PC hat

Ich habe eine Weile gegoogelt, anscheinend gibt es keine einfache Lösung.

Nun, ich denke, ich sollte Resolution nicht verwenden, da heutzutage einige Tablets erstaunliche Auflösungen haben.

Ich sollte mich nicht auf die Orientierung verlassen, da Windows8-Laptops sich einfach wie Tablets drehen können. (und responsives Design ist für mein aktuelles Projekt einfach zu schwierig)

Ich habe versucht, UserAgent zu verwenden (dachte, es hat auch seine Nachteile), kann es aber nicht zum Laufen bringen. Unten ist eine Verknüpfung verschiedener Online-Versionen aufgeführt, die ich verwende, um Telefon / Tablet von PCs zu unterscheiden. Sie funktionieren einfach nicht und ich habe keine Idee warum

var agents = ['android', 'webos', 'iphone', 'ipad', 'blackberry','iemobile','phone','mobile'];
                for(i in agents) {
                    if(navigator.userAgent.toLowerCase().match('/'+agents[i]+'/i')) {
                        return true;
                    }
                }


if( /Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent) ) {
                return true;
            }

 if( navigator.userAgent.match(/Android/i)
                 || navigator.userAgent.match(/webOS/i)
                 || navigator.userAgent.match(/iPhone/i)
                 || navigator.userAgent.match(/iPad/i)
                 || navigator.userAgent.match(/iPod/i)
                 || navigator.userAgent.match(/BlackBerry/i)
                 || navigator.userAgent.match(/Windows Phone/i)
                 || navigator.userAgent.match(/bada/i)
                 || navigator.userAgent.match(/Bada/i)
                 ){
                return true;
            }

Antworten auf die Frage(4)

Ihre Antwort auf die Frage