# Features

## Usability Features

By default the Browser will present the website without a toolbar but you can update the default configuration options that will apply to all websites, or for specific sites only.&#x20;

<div data-full-width="false"><figure><img src="/files/Kyr55tfMNQZEaEC488Uq" alt=""><figcaption><p>Toolbar examples from left to right: Default View (no toolbar), Title Only and Editable toolbar</p></figcaption></figure></div>

* **Show URL:** The ability to show/hide the web URL to the user.
* **Show Title:** The ability to show/hide the webpage title to the user. If a Shortcut Object is being used, the "label" value is the title that will be displayed.
* **URL Editing:** The ability to allow/disallow the user to edit the url when using the browser.
* **Fix Orientation:** The ability to lock the orientation of the view to portrait. Otherwise, the orientation of the view can flow between landscape and portrait based on the way the device is being held.
* **Pinch To Zoom:** The ability to allow/disallow pinching to zoom on webpages.
* **Pull to Refresh:** The ability to enable/disable the "pull down to refresh" functionality on the browser.
* **Open in Desktop Mode:** The ability to set a browser shortcut to open that website in desktop mode.
* **Cookie Preview:** The ability to allow/disallow the user to display the cookies for the current url. If this cookie display is allowed, a lock icon will appear in the top right corner. Selecting this icon will display the cookies.
* **Disable Back Button:** The ability to disable the Android Back button and set a custom toast message to visually confirm for the user that the button should not be operable. By default, the Back button will be enabled.
* **Default Homepage:** The ability to set a default homepage when the browser is launched by clicking on the app.

## Lockdown Features

The BlueFletch Browser supports the following lockdown features that can be configured:

* **Allow Insecure Sites:** The ability to allow/disallow access to insecure (http only) websites. By default, access to insecure websites are not allowed.  If you opt to allow access to insecure sites, the user will still get a prompt informing them that they are navigating to an insecure site, but will have an option to continue browsing.&#x20;

{% hint style="info" %}
&#x20;If you are website uses a custom certificate chain, it is recommended to deploy your intermediate and/or root certificate to the device to prevent this prompt.
{% endhint %}

* **Camera Access:** The ability to allow/disallow the browser access to the camera. By default, websites are not allowed to access the camera.
* **Audio Capture Access:** The ability to allow/disallow the browser access to the microphone. By default, websites are not allowed to access the microphone.
* **Printer Access:** The ability to allow/disallow browser access to any printer. By default, websites are not allowed to access any printers.
* **Popup Windows:** The ability to allow pop-up windows to display over webpage content within the browser.
* **Third-Party Cookies:** The ability to allow/disallow websites to use/store third-party cookies.
* **Allow List and Block List URLs**: (Available in version 2.2.x) The ability to define a block list and allow list for schemes, hosts and ports using Regular Expressions and prevent users from accidentally navigating to unauthorized websites.  Click [here](/bluefletch-enterprise/product-guides/browser/features/url-allowlist-and-blocklist.md) for additional information.

## Application Features

* **Native APIs:** Built-in Javascript APIs are accessible when `enableEmsApi` is `true`. Enables a web app to receive scan events for devices running Zebra Datawedge, and to call actions on Launcher Provider (e.g. returning a JSON of the current session) and the keyboard (e.g. starting and hiding keyboard).
* **User Agent:** An optional replacement user agent string to send to the server; the server will process data from the application as if it was coming from a different web browser, as defined by the string. If not specified, will default to the device-provided user agent string.
* **Custom Script:** Run custom Javascript functions that can be triggered on page load for a given URL or set of URLs. Please contact your BlueFletch representative for assistance implementing this.
* **Custom CSS:** Apply a CSS file that will can be triggered on page load for a given URL or set of URLs.Please contact your BlueFletch representative for assistance implementing this.
* **Create DataWedge Profile:** The ability to allow/disallow the automatic creation of a DataWedge profile on a Zebra device for the browser when it is first launched. By default, a DataWedge profile will be automatically created.
* **Log Level:** The ability to define the level of logs sent to Support Agent as "verbose", "debug", "info", or "error". If set, only that level of logs and below will be logged. By default, the browser sends "info" level logs.

<br>


---

# Agent Instructions: 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.bluefletch.com/bluefletch-enterprise/product-guides/browser/features.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.
