> For the complete documentation index, see [llms.txt](https://docs.wisej.com/api/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.wisej.com/api/wisej.web/general/application/wisej.core.clientbrowser.md).

# ClientBrowser

Namespace: **Wisej.Core**

Assembly: **Wisej.Framework** (4.0.0.0)

Properties of the client browser currently interacting with the application.

{% tabs %}
{% tab title="C#" %}

```csharp
public class ClientBrowser : IUserData
```

{% endtab %}

{% tab title="VB.NET" %}

```visual-basic
Public Class ClientBrowser
    Inherits IUserData
```

{% endtab %}
{% endtabs %}

## Fields

| Name               | Type                                                                   | Description                                                                                                            |
| ------------------ | ---------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
| **CookieStorage**  | [CookieStorage](/api/wisej.core/general/wisej.core.cookiestorage.md)   | Returns an instance of the [CookieStorage](#fields) class that represents the "cookies" storage in the browser.        |
| **LocalStorage**   | [LocalStorage](/api/wisej.core/general/wisej.core.localstorage.md)     | Returns an instance of the [LocalStorage](#fields) class that represents the "localStorage" object in the browser.     |
| **SessionStorage** | [SessionStorage](/api/wisej.core/general/wisej.core.sessionstorage.md) | Returns an instance of the [SessionStorage](#fields) class that represents the "sessionStorage" object in the browser. |

## Properties

### ![](/files/hsR4ok3152WyAf8J2C1u) CultureInfo

[CultureInfo](https://docs.microsoft.com/dotnet/api/system.globalization.cultureinfo): Returns the locale declared in the application configuration file or detected from the client browser.

### ![](/files/hsR4ok3152WyAf8J2C1u) Device

[String](https://docs.microsoft.com/dotnet/api/system.string): Device type. Can be one of "Mobile", "Tablet" or "Desktop".

### ![](/files/hsR4ok3152WyAf8J2C1u) Features

[Object](https://docs.microsoft.com/dotnet/api/system.object): Returns the set of features supported/not-supported by the browser. Currently we detect: geolocation, webSocket, fullScreen, speechSynthesis, speechRecognition, notification, fullScreen, browserStorage.

### ![](/files/hsR4ok3152WyAf8J2C1u) IPAddress

[String](https://docs.microsoft.com/dotnet/api/system.string): IP Address of the client computer.

### ![](/files/hsR4ok3152WyAf8J2C1u) IsDarkMode

[Boolean](https://docs.microsoft.com/dotnet/api/system.boolean): Returns true if the browser is using dark mode.<mark style="color:blue;background-color:green;">Since 3.0.10</mark>

### ![](/files/hsR4ok3152WyAf8J2C1u) IsFullScreen

[Boolean](https://docs.microsoft.com/dotnet/api/system.boolean): Returns true if the browser is in full screen mode.

### ![](/files/hsR4ok3152WyAf8J2C1u) IsSecure

[Boolean](https://docs.microsoft.com/dotnet/api/system.boolean): Returns true if the connection is secure.

### ![](/files/hsR4ok3152WyAf8J2C1u) Language

[String](https://docs.microsoft.com/dotnet/api/system.string): Client language.

### ![](/files/hsR4ok3152WyAf8J2C1u) OS

[String](https://docs.microsoft.com/dotnet/api/system.string): Client OS. Can be one of "iOS", "Android", "WebOS", "BlackBerry", "MacOS", "Linux", "Windows", "Unix", "Other".

### ![](/files/hsR4ok3152WyAf8J2C1u) PixelRatio

[Double](https://docs.microsoft.com/dotnet/api/system.double): Returns the ratio of the resolution in physical pixels to the resolution in CSS pixels for the current display device.

### ![](/files/hsR4ok3152WyAf8J2C1u) Profiles

[ClientProfile\[\]](/api/wisej.web/general/application/wisej.core.clientprofile.md):

### ![](/files/hsR4ok3152WyAf8J2C1u) ScreenSize

[Size](https://docs.microsoft.com/dotnet/api/system.drawing.size): Screen size.

### ![](/files/hsR4ok3152WyAf8J2C1u) SessionId

[String](https://docs.microsoft.com/dotnet/api/system.string): Returns the session ID associated with this [ClientBrowser](/api/wisej.web/general/application/wisej.core.clientbrowser.md).

### ![](/files/hsR4ok3152WyAf8J2C1u) Size

[Size](https://docs.microsoft.com/dotnet/api/system.drawing.size): Browser size. This is the window size, which can be different from the device (or screen) size.

### ![](/files/hsR4ok3152WyAf8J2C1u) TabId

[String](https://docs.microsoft.com/dotnet/api/system.string): Identifies the browser tab associated with with this [ClientBrowser](/api/wisej.web/general/application/wisej.core.clientbrowser.md) instance.

### ![](/files/hsR4ok3152WyAf8J2C1u) TimezoneId

[String](https://docs.microsoft.com/dotnet/api/system.string): Returns the current IANA time zone name. See [timezone](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/resolvedOptions#timezone).<mark style="color:blue;background-color:green;">Since 3.5.12</mark>

### ![](/files/hsR4ok3152WyAf8J2C1u) TimezoneInfo

[TimeZoneInfo](https://docs.microsoft.com/dotnet/api/system.timezoneinfo): Returns an instance of [TimeZoneInfo](https://docs.microsoft.com/dotnet/api/system.timezoneinfo) for the current [TimezoneId](#timezoneid). May be null when the IANA time zone id cannot be resolved on the server.<mark style="color:blue;background-color:green;">Since 3.5.12</mark>

### ![](/files/hsR4ok3152WyAf8J2C1u) TimezoneOffset

[Int32](https://docs.microsoft.com/dotnet/api/system.int32): Returns the time difference between UTC time and local time, in minutes.

### ![](/files/hsR4ok3152WyAf8J2C1u) Type

[String](https://docs.microsoft.com/dotnet/api/system.string): Browser type. Can be one of "IE", "Edge", "Chrome", "Opera", "Firefox", "Safari", "Other".

### ![](/files/hsR4ok3152WyAf8J2C1u) UserAgent

[String](https://docs.microsoft.com/dotnet/api/system.string): Returns the raw user agent string of the client browser.

### ![](/files/hsR4ok3152WyAf8J2C1u) UserData

[Object](https://docs.microsoft.com/dotnet/api/system.object): Returns a value or map set by the client when loading the application's first HTML page.

An application can use this property to retrieve a custom value on startup. For example, in Default.html add:

```csharp

<script>
Wisej.userData = {
value1: 100,
someName: "test"
};
</script>

```

On the server side, you can retrieve the user data use at any time like this:

```csharp


int value1 = Application.Browser.UserData.value1;
string value2 = Application.Browser.UserData.someName;


```

When used in conjunction with an aspx startup page (Default.aspx) it allows the application to retrieve data passed as a POST request and pass it to the Wisej application.

### ![](/files/hsR4ok3152WyAf8J2C1u) Version

[Int32](https://docs.microsoft.com/dotnet/api/system.int32): Browser version.

## Implements

| Name                                                          | Description                                                                                                     |
| ------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
| [IUserData](/api/wisej.web/interfaces/wisej.web.iuserdata.md) | Provides access to the `UserData` and `Tag` properties associated to the component implementing this interface. |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.wisej.com/api/wisej.web/general/application/wisej.core.clientbrowser.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
