SetLocalStorageQuota(maximum As Dynamic) As Boolean
Sets the total size (in bytes) for all persistent HTML storage on the player. This method can accept a string, double, or integer. A number literal can only represent byte numbers up to 2GB; use a string to specify larger amounts. If the storage path is specified without a storage quota, Chromium defaults to reserving 1GB plus 10% of the total size of the storage device.
This method takes effect when a new roHtmlWidget instance is created; it doesn't apply to the roHtmlWidget instance on which it is called.
As of OS8, the SetLocalStorageQuota()
, SetWebStorageQuota()
, and SetAppCacheQuota()
methods all configure a single storage quota, which applies to all persistent HTML storage on the player. See the HTML Best Practices page for more details.
SetWebDatabaseQuota(maximum As Dynamic) As Boolean
Sets the total size (in bytes) for all persistent HTML storage on the player. See the SetLocalStorageQuota()
entry above for details.
This method takes effect when a new roHtmlWidget instance is created; it doesn't apply to the roHtmlWidget instance on which it is called.
SetAppCacheSize(maximum As Integer) As Boolean
Sets the maximum size (in bytes) for the application cache. Changing the storage size of the application cache will clear the cache and rebuild the cache storage. Depending on database-specific attributes, you will only be able to set the size in units that are equal to the page size of the database, which is established at creation. These storage units will occur only in the following increments: 512, 1024, 2048, 4096, 8192, 16384, 32768.
EnableJavaScript(enable As Boolean) As Boolean
Deprecated. Use javascript_enabled in initialization parameters instead.
AllowJavaScriptURLs(url_collection As roAssociativeArray)
Deprecated. If javascript_enabled
is set to true
in the initialization parameters, JavaScript objects are enabled for all sites.
PostJSMessage(data As roAssociativeArray) As Boolean
Posts a collection of key:value pairs to the BSMessagePort JavaScript class (see the JavaScript Objects for BrightScript tech note for more details). This method does not support passing nested associative arrays.
InjectJavaScript(code As String) As Boolean
Immediately injects a user script into the JavaScript engine. The passed string can contain any of the following: pure JavaScript code, a path to a JavaScript file, or a base64-encoded string (i.e. beginning with data:text/javascript;charset=utf-8;base64,
).
This method can be used to simulate the bind_ready
option:
if type(event) = "roHtmlWidgetEvent" then if event.GetData().reason = "load-finished" then h.InjectJavascript("fillPasswordFields()") end if end if
Changing the DOM is only possible at bind_dom_loaded
and bind_ready
. Also, since JavaScript is only guaranteed to be ready at bind_ready
, your callbacks must use this event if they invoke any global functions.
StartInspectorServer(port As Integer) As Boolean
Deprecated. Use inspector_server in initialization parameters instead.
SetUserAgent(user_agent As String) As Boolean
Deprecated. Use user_agent in initialization parameters instead.
GetUserAgent() As String
Returns the currently active user-agent string for the roHtmlWidget instance.
SetUserAgentSuffix(suffix As String) As Boolean
Deprecated. Use user_agent in initialization parameters instead.
SetProxy(proxy as String) As Boolean
Sets the name or address of the proxy server that the roHtmlWidget instance will use to make HTTP requests. This method takes effect immediately. It does not affect network operations performed by other components in the firmware. The string can be used to specify either the proxy URL or the location of a .pac proxy file:
Proxy URL: The proxy address should be formatted as "http://user:password@hostname:port". The hostname can contain up to four "*" characters; each "*" character can be used to replace one octet from the current IP address. For example, if the IP address is currently 192.168.1.2, and the proxy is set to "proxy-*-*", then the player will attempt to use a proxy named "proxy-192.168".
Proxy File: The .pac proxy file can be located on either the local file system or the network. If the file is local, there are no file-name restrictions; if the file is located on the network, the file name should have a .pac extension. If the URL is a hostname only, it will be considered a proxy-server address rather than a file URL.
Example
The following are examples of valid location formats for .pac files:
SetProxyBypass(hostnames As String) As Boolean
Exempts the specified hosts from the proxy configuration on the roHtmlWidget instance. The passed array should consist of one or more hostnames. The player will attempt to reach the specified hosts directly rather than using the proxy that has been specified with the SetProxy()
method. For example, the hostname "example.com" would exempt "example.com", "example.com:80", and "www.example.com" from the proxy setting.
AddProxyAuthenticationCredentials(hostname As String, username As String, password As String)
Allows the user to set up one or more proxies. If proxy pac files are included, this method must be used to specify authentication parameters.
roHtmlWidget.acceptdialog(response as String)
Accept any dialog request with the given string, if there is any such request. This parameter was added in BOS 8.5.16.
roHtmlWidget.rejectdialog()
Reject any dialog request. This parameter was added in BOS 8.5.16.
ifMessagePort
SetPort(port As roMessagePort)
Posts messages of type roHtmlWidgetEvent to the attached message port.
ifUserData
SetUserData(user_data As Object)
Sets the user data that will be returned when events are raised.
GetUserData() As Object
Returns the user data that has previously been set via SetUserData()
. It will return Invalid if no data has been set.
Available Methods with Initialization
If the properties of an roHtmlWidget object are configured at initialization, most ifHtmlWidget methods will be disabled. However, the following methods are still functional:
Hide()
Show()
EnablePinchToZoom()
FlushCachedResources()
SetUserAgent()
GetUserAgent()
SetUserAgentSuffix()
PostJSMessages()
Examples
The following examples show how to use either an associative array or object methods to configure an roHtmlWidget instance using local storage to cache the files.
Note that these techniques are mutually exclusive.
Example (with initialization properties)
x = 0 y = 0 width = 1920 height = 1080 url = "http://www.brightsign.biz" rect = CreateObject("roRectangle", x, y, width, height) config = { url: url, mouse_enabled: true, storage_path: "/local/", } html = CreateObject("roHtmlWidget", rect, config) html.Show()
Example (with methods)
x = 0 y = 0 width = 1920 height = 1080 url = "http://www.brightsign.biz" rect = CreateObject("roRectangle", x, y, width, height) html = CreateObject("roHtmlWidget", rect) html.SetUrl(url) html.EnableMouseEvents(true) html.SetLocalStorageDir("/local/") html.Show()