Classification [mwf.classification]
Description
The mwf.classification
object uses device telemetry to define the classification scheme for a device. To do this, it leverages other mwf libraries including mwf.capability
and mwf.screen
. The mwf.classification
object may also be modified by mwf.override
if the client has specified an override.
This object is defined in assets/js/core/classification.js
and is automatically loaded by the JS handler.
Current (MWF 1.2)
The following functions are available through mwf.classification
:
mwf.classification.isMobile()
If the device has a screen size smaller than the mobile dimensions set in the framework config (default maximum mobile screen size of 799 x 599). This is determined by comparing this value to the one inmwf.screen
, and it should be noted that it represents thescreen
dimensions, not thebrowser.innerWindow
dimensions, as the latter may change dynamically while on a page.mwf.classification.isBasic()
All devices are of the basic classification.mwf.classification.isStandard()
Returns true for a device that supports cookies, live DOM writes and addEventListener.mwf.classification.isFull()
Returns true for a device that has all standard capabilities, plus AJAX and at least limited CSS 3 support.mwf.classification.isPreview()
Returns true for a non-mobile device with an override set.mwf.classification.get()
The string value of the most capable classification of the device.
The following attribute is also available through mwf.classification
:
-
mwf.classification.cookieName
The name of the cookie that assets/js/core/server.js writes.
When an override is enabled, mwf.override
adds the following functions:
mwf.classiciation.wasFull()
If the device's actual classification is full.mwf.classiciation.wasStandard()
If the device's actual classification is at least standard.mwf.classiciation.wasBasic()
Always true as all device were at least basic.
If an override is enabled, mwf.override
also modifies the behavior of the following:
mwf.classiciation.isFull()
If"override"="full"
andmwf.classification.wasFull()
is true.mwf.classiciation.isStandard()
If"override"={"standard","full"}
andmwf.classificiation.wasStandard()
is true.mwf.classiciation.isBasic()
Always true as an override cannot be to less than basic.
See mwf.override for more information about override functionality.
Previous (MWF 1.0-1.1)
Before MWF 1.2, this functionality was encapsulated under the now-deprecated mwf.user_agent
object, coupled tightly with other information now available through mwf.userAgent
. For backwards compatibility, this object is still available, though its methods alias those of mwf.userAgent
and mwf.classification
. See the mwf.userAgent documentation for a detailed description of the mwf.user_agent