Capabilities

Below are the capabilities updated and maintained in this project.

To access the capabilities in bold simply look them up in Request.Browser like so:
Request.Browser["CapabilityName"]
Capabilities in bold are new and are not accessible from the HttpBrowserCapabilities properties.

Capability Name Type Description Returns
AcceptsAudio3gpp System.Boolean Gets a value indicating whether the device supports the playback of 3GPP audio. "true" if the device supports 3GPP audio; otherwise "false". The default is "false".
AcceptsAudioAac System.Boolean Gets a value indicating whether the device supports the playback of AAC audio. "true" if the device supports AAC audio; otherwise "false". The default is "false".
AcceptsAudioAmr System.Boolean Gets a value indicating whether the device supports the playback of AMR audio. "true" if the device supports AMR audio; otherwise "false". The default is "false".
AcceptsAudioIMelody System.Boolean Gets a value indicating whether the device supports the playback of iMelody audio. "true" if the device supports iMelody audio; otherwise "false". The default is "false".
AcceptsAudioMidi System.Boolean Gets a value indicating whether the device supports the playback of MIDI audio. "true" if the device supports MIDI audio; otherwise "false". The default is "false".
AcceptsAudioMp3 System.Boolean Gets a value indicating whether the device supports the playback of MP3 audio. "true" if the device supports MP3 audio; otherwise "false". The default is "false".
AcceptsAudioWav System.Boolean Gets a value indicating whether the device supports the playback of WAV audio. "true" if the device supports WAV audio; otherwise "false". The default is "false".
AcceptsImageBmp System.Boolean Gets a value indicating whether the device supports BMP images. "true" if the device supports BMP images; otherwise "false". The default is "false".
AcceptsImageGif System.Boolean Gets a value indicating whether the device supports GIF images. "true" if the device supports GIF images; otherwise "false". The default is "false".
AcceptsImageJpeg System.Boolean Gets a value indicating whether the device supports JPEG images. "true" if the device supports JPEG images; otherwise "false". The default is "false".
AcceptsImagePng System.Boolean Gets a value indicating whether the device supports PNG images. "true" if the device supports PNG images; otherwise "false". The default is "false".
AcceptsImageSVG System.Boolean Gets a value indicating whether the device supports SVG images. "true" if the device supports SVG images; otherwise "false". The default is "false".
AcceptsVideo3gpp System.Boolean Gets a value indicating whether the device supports the playback of 3GPP video. "true" if the device supports 3GPP video; otherwise "false". The default is "false".
AcceptsVideoMpeg System.Boolean Gets a value indicating whether the device supports the playback of MPEG video. "true" if the device supports MPEG video; otherwise "false". The default is "false".
AcceptsVideoMpeg4 System.Boolean Gets a value indicating whether the device supports the playback of MPEG-4 video. "true" if the device supports MPEG-4 video; otherwise "false". The default is "false".
AjaxCanManipulateCss System.Boolean Gets a value indicating whether the browser supports programmatically changing CSS properties and have the content immediately reflect the changes. "true" if the browser supports updating CSS programmatically; otherwise, "false". The default is "false".
AjaxSupportsFullDom System.Boolean Gets a value indicating whether the browser supports full DOM manipulation. "true" if the browser supports the parentNode, getElementsByTagName and getElementsByName functions; otherwise, "false". The default is "false".
AjaxSupportsGetElementByID System.Boolean Gets a value indicating whether the browser supports selecting a DOM node through its ID. "true" if the browser supports the getElementById function; otherwise, "false". The default is "false".
AjaxSupportsInnerHtml System.Boolean Gets a value indicating whether the browser supports the programmatic insertion of HTML into a node. "true" if the browser supports the programmatic insertion of HTML into a node; otherwise, "false".
AjaxXmlHttpRequestConstructorSyntax System.String Gets a value indicating which syntax to use when creating an XMLHttpRequest object. Returns "none" if the browser does not support AJAX. Returns "standard" if the browser supports the XMLHttpRequest() syntax. Returns "msxml2" if the browser supports ActiveXObject("Msxml2.XMLHTTP") or returns "legacy_microsoft" if the browser supports ActiveXObject("Microsoft.XMLHTTP"). The default is "none".
Browser System.String Gets the name of the browser if known. The name of the browser if known. The default is "Unknown".
Cookies System.Boolean Gets a value indicating whether the browser supports cookies. "true" if the browser supports cookies; otherwise, "false". The default is "false".
InputType System.String Returns the type of input supported by the device. The type of input supported by the device. The possible values are keyboard, telephoneKeypad, and virtualKeyboard. The default is telephoneKeypad.
IsColor System.Boolean Gets a value indicating whether the device has a color display. "true" if the device has a color display; otherwise, "false". The default is "false".
IsMobileDevice System.Boolean Gets a value indicating whether the browser is a recognized mobile device. "true" if the browser is a recognized mobile device; otherwise, "false". The default is "true".
IsSslSupported System.Boolean Gets a value indicating whether the browser supports HTTPS protocol (SSL). "true" if the browser supports SSL; otherwise, "false". The default is "true".
JavaApplets System.Boolean Gets a value indicating whether the browser supports Java. "true" if the browser supports Java; otherwise, "false". The default is "false".
JavaScript System.Boolean Gets a value indicating whether the browser supports JavaScript. "true" if the browser supports JavaScript; otherwise, "false". The default is "false".
MajorVersion System.Int32 Gets the major (integer) version number of the browser. The major version number of the browser. The default value is 0.
MaximumRenderedPageSize System.Int32 Gets the maximum length of the page, in bytes, which the browser can display. The maximum length of the page, in bytes, which the browser can display. The default is 2000.
MaxUrlLength System.Int32 Gets the maximum length of a URL, in bytes, which the browser supports. The maximum length of the URL, in bytes, which the browser can support. The default is 2048.
MinorVersion System.Double Gets the minor (double) version number of the browser. The minor version number of the browser. The default is 0.
MobileDeviceManufacturer System.String Returns the name of the manufacturer of a mobile device, if known. The name of the manufacturer of a mobile device, if known. The default is "Unknown".
MobileDeviceModel System.String Gets the model name of a mobile device, if known. The model name of a mobile device, if known. The default is "Unknown".
Platform System.String Gets the name of the platform that the client uses, if it is known. The operating system that the client uses, if it is known, otherwise the value is set to "Unknown".
PreferredImageMime System.String Returns the MIME type of the type of image content typically preferred by the browser. The MIME type of the type of image content typically preferred by the browser. The default is image/gif.
PreferredRenderingMime System.String Returns the MIME type of the type of content typically preferred by the browser. The MIME type of the type of content typically preferred by the browser. The default is text/html.
PreferredRenderingType System.String Gets the general name for the type of content that the browser prefers. The general name of the type of content that the browser prefers. May be "html32", "chtml10", "html32", "wml11", "wml12" or "xhtml-basic". The default is "html32".
ScreenBitDepth System.Int32 Returns the depth of the display, in bits per pixel. The depth of the display, in bits per pixel. The default is 1.
ScreenPixelsHeight System.Int32 Returns the approximate height of the display, in pixels. The approximate height of the display, in pixels. The default is 72.
ScreenPixelsWidth System.Int32 Returns the approximate width of the display, in pixels. The approximate width of the display, in pixels. The default is 96.
SupportedAudio3gppVersion System.String Gets a value indicating the supported 3GPP audio version. The version of 3GPP audio supported (e.g 1, 2); otherwise, "none" if 3GPP audio is not supported.
SupportedFlashVersion System.String Gets a value indicating the supported Flash version. The version of Flash supported (e.g. "Lite 2.1", "Lite 1.0"); otherwise, "none" if Flash is not supported.
SupportedImageGifVersion System.String Gets a value indicating the supported GIF format. The version of GIF format supported (e.g. "gif97a", "gif89a"); otherwise, "none" if the GIF format is not supported.
SupportedVideo3gppVersion System.String Gets a value indicating the supported 3GPP video version. The version of 3GPP video supported (e.g 1, 2); otherwise, "none" if 3GPP video is not supported.
SupportsAccesskeyAttribute System.Boolean Gets a value indicating whether the browser supports the accesskey attribute of HTML <a> (anchor) and <input> elements. "true" if the browser supports the accesskey attribute of HTML <a> (anchor) and <input> elements; otherwise, "false". The default is "true".
SupportsChtmlRendering System.Boolean Gets a value indicating whether the browser supports compact HTML (chtml). "true" if the browser supports chtml; otherwise, "false". The default is "false".
SupportsCss System.Boolean Gets a value indicating whether the browser supports Cascading Style Sheets (CSS) "true" if the browser supports CSS; otherwise, "false". The default is "false".
SupportsCssBackgroundColor System.Boolean Gets a value indicating whether the browser supports the background-color CSS property. "true" if the browser honors the background-color CSS property; otherwise "false".
SupportsCssBackgroundImage System.Boolean Gets a value indicating whether the browser supports the background-image CSS property. "true" if the browser honors the background-image CSS property; otherwise "false".
SupportsCssBorder System.Boolean Gets a value indicating whether the browser supports the border style. "true" if the browser honors the border style; otherwise "false".
SupportsCssHyperLinkColorAttribute System.Boolean Gets a value indicating whether the browser supports applying styles to anchors (<a>). "true" if the browser supports styling of anchors (<a>); otherwise, "false".
SupportsCssMargin System.Boolean Gets a value indicating whether the browser supports margin styles. "true" if the browser supports the margin style; otherwise, "false".
SupportsCssPadding System.Boolean Gets a value indicating whether the browser supports padding styles. "true" if the browser supports the padding style; otherwise, "false".
SupportsEmbeddedFlashInWebPages System.Boolean Gets a value indicating whether the browser supports SWF (Flash) files embedded in HTML. "true" if the browser supports SWF (Flash) files embedded in HTML; otherwise, "false".
SupportsHtmlRendering System.Boolean Gets a value indicating whether the browser supports the hypertext markup language (html). "true" if the browser supports html; otherwise, "false". The default is "false".
SupportsSamePageAnchorLinks System.Boolean Gets a value indicating whether the browser supports named anchors (e.g. <a name="top"></a>) "true" if the browser supports named anchors; otherwise "false". The default is "false".
SupportsStandAloneFlash System.Boolean Gets a value indicating whether the device supports executing standalone Flash files (SWF). "true" if the device supports executing standalone Flash files; otherwise, "false".
SupportsSymbolAccessKeys System.Boolean Gets a value indicating whether the browser supports the use of symbols (e.g. # or ) as values for the accesskey attribute of HTML <a> (anchor) and <input> elements. "true" if the browser supports symbols (e.g. # or ) as values for the accesskey attribute of HTML <a> (anchor) and <input> elements; otherwise, "false". The default is "false".
SupportsTouchScreen System.Boolean Gets a value indicating whether the device has a touch screen. "true" if the device has a touch screen; otherwise, "false". The default is "false".
SupportsWapPush System.Boolean Gets a value indicating whether the device supports WAP Push messages. "true" if the device supports WAP Push messages; otherwise, "false". The default is "false".
SupportsXhtmlRendering System.Boolean Gets a value indicating whether the browser supports the extensible hypertext markup language (xhtml). "true" if the browser support xhtml; otherwise, "false". The default is "false".
UsableScreenPixelsHeight System.Int32 Returns the approximate height of the available browser screen height, in pixels. The approximate height of the browsers display, in pixels. The default is 96.
UsableScreenPixelsWidth System.Int32 Returns the approximate height of the available browser screen width, in pixels. The approximate width of the browsers display, in pixels. The default is 72.

Last edited Apr 7, 2009 at 11:00 AM by mgagne, version 5

Comments

suprduprmn Dec 4, 2009 at 5:08 PM 
Gruger and burley325. I am sure you have moved on but just in case, you can use: bool.Parse(Request.Browser["SupportsBlah"]); and that can be tested. Little less code for you.

michel Oct 8, 2009 at 10:05 AM 
Another solution to testing a string value to be true is to create an extension method for this simple task. Or easier, just create a private/protected method Boolean IsTrue(String value) to use in a (base)class. Since this check may only be used in the presentation layer, the problem is very minimal.
I'm very impressed that there is such a nice solution for mobile development in ASP .NET.

Gruger Jul 15, 2009 at 2:47 PM 
Is it working fine for you?

burley325 Jul 15, 2009 at 5:16 AM 
Thanks gruger... I get that.... Don't know what to tell you about your other problem

Gruger Jul 14, 2009 at 11:20 PM 
I figured out that I do need to check the property as a String, like I asked above: (Request.Browser["SupportsEmbeddedFlashInWebPages"].ToLower() == "true"). Thats the way.

I've got a weird problem now. I'm testing in my PC, running on Firefox last updated. I don't know why a parameter like "AcceptsImageJpeg" is returning false!! What should I do? The Request.Browser.Browser and the Request.Browser.IsMobileDevice are correct (Firefox and false, respectively). I dont know why I'm getting false for the bold attributes wich should be setted to true!

burley325 Jul 14, 2009 at 9:53 PM 
I am having a similar problem to Gruger. I am having trouble implementing these attributes.

Gruger Jul 14, 2009 at 3:34 PM 
I'm trying to use the "bold" attributes, but they seem to be Strings instead of the type you put int the table above.
Unlikely, its impossible to cast a string to boolean. Should I test (Request.Browser["SupportsEmbeddedFlashInWebPages"].ToLower() == "true"), for example? (using C#). It looks horrible... Could it be fixed to an Object, instead of a String?

dingliang May 13, 2009 at 6:04 PM 
Now i give up, i am using deviceAtlas instead, seems without patch there is not a single really microsoft product, no matter how small a product it is, even just a plugin:)

dingliang May 13, 2009 at 1:37 PM 
Hello mgagne,
I tried to use the mobile browser file, it is really amazing, working in just second, but as all the microsoft products, it has its own standard which get developer mad all the time. if we look wurfl file, it is very clear to see which video cedec a device supports, but not wdbf, i am just getting lost,
so could you please tell me how to know if a device supported h264, or just h263,
from the 67 capabilites, there are "acceptmpeg" and "acceptmpeg4",

thank you very much
Best Regards
/ding