Skip to main content
Version: 7.9

Web Browser Component

" "

Component Palette Icon

" "

Description

Inductive University

Web Browser

Watch the video

The Web Browser component in Designer allows you to embed a full web browser inside of an Ignition Client. This component becomes available in Designer after you download the Web Browser module from the Inductive Automation's website. The Web Browser module installs the same way as any other modules. Once this component is added onto a window, it will behave just like any other web browser when it is inside a Client.

Client machines need to meet the following minimum requirements to use this component. The component may not work properly if the requirements are not met.

Operating System Requirements

Windows

  • Microsoft Windows XP (SP2), 7, 8, Vista, Server 2003 (SP1), Server 2008/2012, 32-bit and 64-bit.
    • Windows version 8 and 8.1 require Java 6 update 38 or greater
  • Oracle (Sun) JRE 1.6.x and higher, 32-bit and 64-bit.

Linux

  • Ubuntu 12.04+, Debian 7.7, RedHat Enterprise Linux 7, openSUSE 13.1, Fedora 20, 32-bit and 64-bit
  • Oracle (Sun) JRE 1.6.x and higher, 32-bit and 64-bit.
Required Linux Libraries

Missing Libraries: 32-bit Ubuntu 12.04
Some 32-bit Linux distros are missing a needed library for running the Web Browser: libXss.so.1

Steps that fixed it in Ubuntu 12.04:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install ia32-libs-multiarch

Missing Libraries: Ubuntu 17.04
Ubuntu 17.04 is missing a library that is required for the component to run. Running the following command can resolve the issue:

sudo apt-get install libgconf-2-4

Mac OS X

  • Mac OS X 10.7.x - 10.10.x (Intel)
  • Apple or Oracle (Sun) JRE 1.6.x and higher, 32-bit and 64-bit.
New in 7.9.8
As of 7.9.8, the underlying JxBrowser was updated and now has a new set of system requirements. If your Web Browser used to work, but does not meet the requirements of the newer versions, it is possible to install an older Web Browser module on a newer Ignition Gateway.

Windows

  • Microsoft Windows 7, 8, 8.1, 10, Server 2008 R2, Server 2012, Server 2016, 32-bit and 64-bit.
    • Windows version 8 and 8.1 require Java 6 update 38 or greater
  • Oracle (Sun) JRE 1.6.x and higher or IBM JRE 1.7.x and higher, 32-bit and 64-bit.

Linux

  • Ubuntu 14.04+, 17.04 Desktop, Debian 8+, RedHat Enterprise Linux 7, openSUSE 13.3+, Fedora 24+, 64-bit only
  • Oracle (Sun) JRE 1.6.x and higher or IBM JRE 1.7.x and higher, 32-bit and 64-bit.
Required Linux Libraries

Missing Libraries: Ubuntu 17.04 Ubuntu 17.04 is missing a library that is required for the component to run. Running the following command can resolve the issue:

sudo apt-get install libgconf-2-4

Mac OS X

  • Mac OS X 10.9.x - 10.13.x (Intel)
  • Apple or Oracle (Sun) JRE 1.6.x and higher, 32-bit and 64-bit.
note

The Web Browser Component will only support the following video codecs: Opus, Theora, Vorbis, VP8, VP9, and WAV.

The underlying browser component is available in scripting through the getBrowser() method. Documentation on the browser component is available at the JxBrowser Programmer’s Guide. The Inductive Automation support team is unable to provide detailed advice on scripting with this component. Furthermore, they are unable to provide troubleshooting beyond the basic functionality of the module.

Hardware Notes

ARM

Currently, the jxBrowser does not support the ARM architecture, thus the component will not work properly when used in conjunction with the ARM architecture.

Properties

NameDescriptionProperty TypeScriptingCategory
BorderThe border surrounding this component. Note, that the border is unaffected by rotation.Border.borderCommon
Enabled

If disabled, a component cannot be used.

New in 7.9.13
The "Enabled" property is no longer available for the Web Browser component when attempting to bind with another component. Binding through scripting and tags is still available. If there was a property binding setup before the upgrade, then that will still be active and function to a certain extent. More information can be found at JxBrowser Support.
boolean.componentEnabledCommon
FTP Proxy PortFTP Proxy Port sets the proxy port for FTP connections. This setting is only used when Use Proxies is checked.int.ftpProxyPortData
FTP Proxy ServerFTP Proxy Server sets the proxy server for FTP connections. This setting is only used when Use Proxies is checked. Can be emptyString.ftpProxyServerData
HTTP Proxy PortHTTP Proxy Port sets the proxy port for HTTP connections. This setting is only used when Use Proxies is checked.int.httpProxyPortData
HTTP Proxy ServerHTTP Proxy Server sets the proxy server for HTTP connections. This setting is only used when Use Proxies is checked. Can be emptyString.httpProxyServerData
HTTPS Proxy PortHTTPS Proxy Port sets the proxy port for HTTPS connections. This setting is only used when Use Proxies is checked.int.httpsProxyPortData
HTTPS Proxy ServerHTTPS Proxy Server sets the proxy server for HTTPS connections. This setting is only used when Use Proxies is checked. Can be emptyString.httpsProxyServerData
ModeData source for browser. Mode controls whether Starting URL or Starting HTML will be used.int.modeData
NameThe name of this component.String.nameCommon
Popups AllowedThis flag is used to allow popups in the web page displayed.boolean.popupsAllowedBehavior
Proxy ExceptionsA comma delimited list of rules for websites that will bypass the proxy servers. An example sting would be
"*foo.com,<local>,127.0.1"
This setting is only used when Use Proxies is checked.
String.proxyExceptionsData
Proxy PasswordThe password to use for proxy authentication. This setting is only used when Use Proxies and Use Proxy Authentication are checked.String.proxyPasswordData
Proxy UsernameThe username to use for proxy authentication. This setting is only used when Use Proxies and Use Proxy Authentication are checked.String.proxyUsernameData
Show Navigation ButtonsShow the navigation buttons at the top of the frame.boolean.showNavigationBehavior
Starting HTMLThe initial HTML displayed when the Mode is set to HTML.
Starting HTML is
<html><body>&nbsp;</body></html>
by default, which gives a blank page.
String.startingHtmlData
Starting URLThe initial URL displayed when the Mode is set to URL. Starting URL is blank by default.String.startingUrlData
Use ProxiesIf checked, the Web Browser will try to use the proxy settings.boolean.useProxiesData
Use Proxy AuthenticationIf checked, the browser will use the username and password for proxy authentication. This setting is only used when Use Proxies is checked.boolean.useProxyAuthenticationData
VisibleIf disabled, the component will be hidden.boolean.visibleCommon
Zoom LevelThe zoom level the web page is displayed in. 0.0 is normal, positive numbers zoom in, negative numbers zoom out.double.zoomLevelBehavior

Scripting

Scripting Functions

.getBrowser()

  • Description

  • Parameters

    • none
  • Return

    • Object - The Browser Object
  • Scope

    • Client

Extension Functions

initialize

New in 7.9.13
  • Description

    • Called when the Web Browser component is initialized. Provides a chance to initialize the browser further. Enabling or disabling this function will cause the Web Browser component to re-initialize.
  • Key Arguments

    • Component self: A reference to the component that is invoking this function.
    • JxBrowser browser: The underlying JxBrowser instance of the Browser class.
    • BrowserView browserView: The underlying rendering class that contains the Browser instance.
  • Return

    • Nothing
  • Scope

    • Client

Event Handlers

propertyChange

Fires whenever a bindable property of the source component changes. This works for standard and custom (dynamic) properties.

PropertyDescription
.sourceThe component that fired this event.
.newValueThe new value that this property changed to.
.oldValueThe value that this property was before it changed. Note that not all components include an accurate oldValue in their events.
.propertyNameThe name of the property that changed. NOTE: remember to always filter out these events for the property that you are looking for! Components often have many properties that change.

Customizers

Examples

Code Snippet
# This code example can be used inside the initialize() extension function.
# It is designed to pass the Web Browser component's internal browser logging through to the Ignition gateway logs.


from com.teamdev.jxbrowser.chromium.events import ConsoleListener


class IgnitionListener(ConsoleListener):
def __init__(self, target='Web Browser'):
self.logger = system.util.getLogger(target)
self.levels = {'DEBUG': self.logger.debug, 'ERROR': self.logger.error, 'LOG': self.logger.info, 'WARNING': self.logger.warn}


def onMessage(self, event):
self.levels[str(event.getLevel())](event.getMessage())


browser.addConsoleListener(IgnitionListener())