Nanovisor Configuration

The nv block specifies configuration for our Nanovisor client JavaScript file, which enables the client-side interaction with our streaming services running on the service. Here's a typical example:

"nv": {
  "injection": true,
  "release": "latest",
  "target": "auto",
  "serve_from_parent_domain": true

The following fields can be used to control the use of the Nanovisor:


A Boolean flag to enable injection of the Nanovisor.

The default is false.


There are various versions (as opposed to releases) of the Nanovisor to send to the requesting browser. These are subsets of the entire Nanovisor code which includes all of the features that the Nanovisor is involved with. For example, if only HTML Streaming is in play, the subset of functions that has just the HTML Streaming functionality present is sent to the browser; if only RUM is enabled, it's the subset that has just the RUM functionality. These are specified by setting the value of target.

The usual value to use in production configurations is auto. This determines the appropriate target automatically on the server side.

The default value is loader. This determines the appropriate target automatically on the client side and loads it. Note that this means you will see instart.js loaded twice – once for the loader version and a second time for the appropriate target version.


This specifies the release version number of the Nanovisor code to be used. This is required.

Note that occasionally new features require a particular Nanovisor release or above. For example, when HTML Streaming with SmartSense (a.k.a. HTML Streaming v2) was released some time ago, release needed be set to week-140-1 or above for it to work.

serve_from_parent_domainSet to true, this allows the Nanovisor to be served from the same domain as the parent domain of the site. The default is false, which means that the Nanovisor, when we serve it, will come from a separate assets domain that we maintain.
parent_domain_path_prefixOptional initial prefix for the domain where the Nanovisor will be served from when serve_from_parent_domain is set to true. The default is instartlogic/nv/ii.
baseOptional string path. When specified, this is used to construct the full Nanovisor URL; otherwise, the current default model is used.

Optional TTL for caching the page configuration on the client (the browser). There might be cases where we send the configuration of the page via separate requests. In this case, or if for any other reason you want to cache the page config on the client, we can use this field. It consists of an integer value suffixed by either s (seconds), m (minutes), h(hours), or d (days).

The default value is 600s.

clientOptional block to set some advanced properties for the Nanovisor. This is an advanced field and should never normally be used. Please contact Support if you have any questions about this field.