With the initial release of Yiibu's Profile, Detector is already YABFDL (Yet Another Browser- and Feature-Detection Library). Ever since I heard Yiibu's talk, Adaptation, the core concepts & features of Detector have been floating around in my head. I've finally turned those ideas into code and created this demo. To learn more about Detector and how it works please check out the README on GitHub.

Both of the following Detector profiles were pulled from a profile already in the system that you asked to view. Because it's an archived profile the browser-side tests were not run.

Archived Detector Browser Profile

The following browser profile was created using ua-parser-php. This information is derived solely from the user agent string for your browser.

Browser Properties Previous Profile | Next Profile
User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.0.3705; .NET CLR 1.1.4322; Media Center PC 4.0; .NET4.0C)
UA Hash: 2c04797bfef6c2dab0bce7c7b78cf71d
Browser/OS: IE 8.0/Windows XP
Is Mobile? false
Is Mobile Device? false
Is Tablet? false
Is Computer? true
Is Spider? false

Something wrong with this profile? Please, let me know. Note that the "tablet" classification may be incorrect for those Android tablets using an OS older than Android 3.0.

Archived Detector Feature Profile

The following feature profile was primarily created using Modernizr's core tests. The left column of results, Your Browser, is populated by JavaScript using a copy of Modernizr that is loaded with this page. The right column, Detector Profile, is populated by PHP using the profile created by Detector for your browser. In addition to the core tests I've added an extended test that checks for emoji support as well as a per request test to check the device pixel ratio. Both were added using the Modernizr.addTest() Plugin API. To learn more about core, extended, and per request tests please review the README. To access any of these options in your PHP app you'd simply type $ua->featureName.

Feature Profile Properties
coreVersion: 0.95
family: desktop
To learn more about families please review the family tutorial.
CSS3 Features Your Browser Detector Profile
backgroundsize:N/Afalse
bgrepeatround:N/Afalse
bgrepeatspace:N/Afalse
bgsizecover:N/Atrue
borderimage:N/Afalse
borderradius:N/Afalse
boxshadow:N/Afalse
boxsizing:N/Atrue
cssanimations:N/Afalse
csscolumns:N/Afalse
cssgradients:N/Afalse
cssreflections:N/Afalse
cssremunit:N/Afalse
cssresize:N/Afalse
cssscrollbar:N/Atrue
csstransforms:N/Afalse
csstransforms3d:N/Afalse
csstransitions:N/Afalse
cubicbezierrange:N/Afalse
flexbox:N/Afalse
fontface:N/Atrue
generatedcontent:N/Atrue
hsla:N/Afalse
multiplebgs:N/Afalse
opacity:N/Afalse
overflowscrolling:N/Afalse
rgba:N/Afalse
textshadow:N/Afalse
HTML5 Features Your Browser Detector Profile
adownload:N/Afalse
applicationcache:N/Afalse
audio:N/Afalse
audiodata:N/Afalse
blobworkers:N/Afalse
canvas:N/Afalse
canvastext:N/Afalse
contenteditable:N/Atrue
createelement-attrs:N/Atrue
dataview:N/Afalse
dataworkers:N/Afalse
devicemotion:N/Afalse
deviceorientation:N/Afalse
draganddrop:N/Atrue
filereader:N/Afalse
filesystem:N/Afalse
formvalidation:N/Afalse
fullscreen:N/Afalse
geolocation:N/Afalse
hashchange:N/Atrue
history:N/Afalse
indexeddb:N/Afalse
input->autocomplete:N/Afalse
input->autofocus:N/Afalse
input->list:N/Afalse
input->max:N/Afalse
input->min:N/Afalse
input->multiple:N/Afalse
input->pattern:N/Afalse
input->placeholder:N/Afalse
input->required:N/Afalse
input->step:N/Afalse
inputtypes->color:N/Afalse
inputtypes->date:N/Afalse
inputtypes->datetime:N/Afalse
inputtypes->datetime-local:N/Afalse
inputtypes->email:N/Afalse
inputtypes->month:N/Afalse
inputtypes->number:N/Afalse
inputtypes->range:N/Afalse
inputtypes->search:N/Afalse
inputtypes->tel:N/Afalse
inputtypes->time:N/Afalse
inputtypes->url:N/Afalse
inputtypes->week:N/Afalse
localstorage:N/Atrue
meter:N/Afalse
microdata:N/Afalse
notification:N/Afalse
performance:N/Afalse
postmessage:N/Atrue
progressbar:N/Afalse
quotamanagement:N/Afalse
scriptasync:N/Afalse
scriptdefer:N/Atrue
sessionstorage:N/Atrue
sharedworkers:N/Afalse
speechinput:N/Afalse
time:N/Afalse
userselect:N/Afalse
video:N/Afalse
webaudio:N/Afalse
webintents:N/Afalse
websockets:N/Afalse
websocketsbinary:N/Afalse
websqldatabase:N/Afalse
webworkers:N/Afalse
Misc. Features Your Browser Detector Profile
battery:N/Afalse
cookies:N/Atrue
eventsource:N/Afalse
gamepad:N/Afalse
ie8compat:N/Afalse
json:N/Atrue
lowbandwidth:N/Afalse
lowbattery:N/Afalse
nocookies:N/Afalse
touch:N/Afalse
unicode:N/Atrue
webgl:N/Afalse
While a device may be touch-based that doesn't not mean it supports touch events which is what I'm testing for here.
Browser Class via Media Queries Your Browser Detector Profile
desktop:N/Afalse
mediaqueries:N/Afalse
mobile:N/Afalse
tablet:N/Afalse
This feature needs some love as it's not always returning information correctly.
Detector Extended Test Features Your Browser Detector Profile
emoji:N/Afalse
extendedVersion:N/A1.0
To learn more about extended tests and their purpose please review the test tutorial.

About Detector

Detector is a simple, PHP- and JavaScript-based browser- and feature-detection library that can adapt to new devices & browsers on its own without the need to pull from a central database of browser information.

Detector dynamically creates profiles using a browser's (mainly) unique user-agent string as a key. Using Modernizr it records the HTML5 & CSS3 features a requesting browser may or may not support. ua-parser-php is used to collect and record any useful information (like OS or device name) the user-agent string may contain.

With Detector a developer can serve the appropriate markup, stylesheets, and JavaScript to a requesting browser without being completely dependent on a front-end-only resource loader nor a browser-detection library being up-to-date.

Check out the README for more information as well as the full list of features.

Get the Code

Demos

Tutorials

More Information

Credits

Detector is based on Modernizr, modernizr-server, and the browser-detection library ua-parser-php. It also benefits from a healthy dose of inspiration from Yiibu's Profile.

Share This

Archive

The following 12077 user agent profiles are already in the system (readable list):