Internet Browser

Internet Browser is a web browser preloaded on the Wii U. It is based on NetFront Browser NX v2.1 (3.0 in later System Software), which uses the WebKit rendering engine.

As a mobile-style WebKit-based browser, most advice relevant to iOS Safari web development applies to developing for Internet Browser as well.

Homebrew using Internet Browser

Noteworthy Properties

The Internet Browser uses a native resolution of 854x448 pixels, matching the screen resolution of the Gamepad, accounting for the top address bar. With an active navigation bar, the visible area is reduced to 854x400 pixels. Unless otherwise specified via the viewport meta tag, the browser assumes a virtual width of 980 pixels.

The browser supports a single, yet unidentified sans-serif font. This font serves as the universal fallback, even for the default document font which is defined as "Times New Roman". Unicode range 0xE000–0xF8FF is used for private characters. The Wii U Internet Browser font as Nintendo related character up to 0xE09A. Characters from 0xE000 to 0xE06B are similar to the ones available on the Wii Internet Channel. Going to this web page with your Wii U Gamepad will show you all these custom characters. Webfonts are supported.

Known User Agent Strings

Region System Software Release Date UA String
US 5.5.2 July 17th, 2017 Mozilla/5.0 (Nintendo WiiU) AppleWebKit/536.30 (KHTML, like Gecko) NX/3.0.4.2.13 NintendoBrowser/4.3.2.11274.US
EU 5.5.2 July 17th, 2017 Mozilla/5.0 (Nintendo WiiU) AppleWebKit/536.30 (KHTML, like Gecko) NX/3.0.4.2.13 NintendoBrowser/4.3.2.11274.EU
JP 5.5.2 July 17th, 2017 Mozilla/5.0 (Nintendo WiiU) AppleWebKit/536.30 (KHTML, like Gecko) NX/3.0.4.2.13 NintendoBrowser/4.3.2.11274.JP
US 5.5.1 January 11th, 2016 Mozilla/5.0 (Nintendo WiiU) AppleWebKit/536.30 (KHTML, like Gecko) NX/3.0.4.2.12 NintendoBrowser/4.3.1.11264.US
EU 5.5.1 January 11th, 2016 Mozilla/5.0 (Nintendo WiiU) AppleWebKit/536.30 (KHTML, like Gecko) NX/3.0.4.2.12 NintendoBrowser/4.3.1.11264.EU
JP 5.5.1 January 11th, 2016 Mozilla/5.0 (Nintendo WiiU) AppleWebKit/536.30 (KHTML, like Gecko) NX/3.0.4.2.12 NintendoBrowser/4.3.1.11264.JP
US 5.5.0 August, 17, 2015 Mozilla/5.0 (Nintendo WiiU) AppleWebKit/536.30 (KHTML, like Gecko) NX/3.0.4.2.11 NintendoBrowser/4.3.0.11224.US
EU 5.5.0 August, 17, 2015 Mozilla/5.0 (Nintendo WiiU) AppleWebKit/536.30 (KHTML, like Gecko) NX/3.0.4.2.11 NintendoBrowser/4.3.0.11224.EU
JP 5.5.0 August, 17, 2015
US 5.4.0 June, 8, 2015 Mozilla/5.0 (Nintendo WiiU) AppleWebKit/536.30 (KHTML, like Gecko) NX/3.0.4.2.9 NintendoBrowser/4.2.0.11146.US
EU 5.4.0 June, 8, 2015 Mozilla/5.0 (Nintendo WiiU) AppleWebKit/536.30 (KHTML, like Gecko) NX/3.0.4.2.9 NintendoBrowser/4.2.0.11146.EU
JP 5.4.0 June, 8, 2015 Mozilla/5.0 (Nintendo WiiU) AppleWebKit/536.30 (KHTML, like Gecko) NX/3.0.4.2.9 NintendoBrowser/4.2.0.11146.JP
US 5.3.2 December, 5, 2014 Mozilla/5.0 (Nintendo WiiU) AppleWebKit/536.28 (KHTML, like Gecko) NX/3.0.3.12.15 NintendoBrowser/4.1.1.9601.US
EU 5.3.2 December, 5, 2014 Mozilla/5.0 (Nintendo WiiU) AppleWebKit/536.28 (KHTML, like Gecko) NX/3.0.3.12.15 NintendoBrowser/4.1.1.9601.EU
JP 5.3.2 December, 5, 2014 Mozilla/5.0 (Nintendo WiiU) AppleWebKit/536.28 (KHTML, like Gecko) NX/3.0.3.12.15 NintendoBrowser/4.1.1.9601.JP
US 5.3.1 December, 2, 2014 Mozilla/5.0 (Nintendo WiiU) AppleWebKit/536.28 (KHTML, like Gecko) NX/3.0.3.12.15 NintendoBrowser/4.1.1.9601.US
EU 5.3.1 December, 2, 2014 Mozilla/5.0 (Nintendo WiiU) AppleWebKit/536.28 (KHTML, like Gecko) NX/3.0.3.12.15 NintendoBrowser/4.1.1.9601.EU
JP 5.3.1 December, 2, 2014 Mozilla/5.0 (Nintendo WiiU) AppleWebKit/536.28 (KHTML, like Gecko) NX/3.0.3.12.15 NintendoBrowser/4.1.1.9601.JP
US 5.3.0 November, 10, 2014 Mozilla/5.0 (Nintendo WiiU) AppleWebKit/536.28 (KHTML, like Gecko) NX/3.0.3.12.14 NintendoBrowser/4.1.0.9584.US
EU 5.3.0 November, 10, 2014 Mozilla/5.0 (Nintendo WiiU) AppleWebKit/536.28 (KHTML, like Gecko) NX/3.0.3.12.14 NintendoBrowser/4.1.0.9584.EU
JP 5.3.0 November, 10, 2014 Mozilla/5.0 (Nintendo WiiU) AppleWebKit/536.28 (KHTML, like Gecko) NX/3.0.3.12.14 NintendoBrowser/4.1.0.9584.JP
US 5.2.0 September 29, 2014 Mozilla/5.0 (Nintendo WiiU) AppleWebKit/536.28 (KHTML, like Gecko) NX/3.0.3.12.14 NintendoBrowser/3.1.1.9577.US
EU 5.2.0 September 29, 2014 Mozilla/5.0 (Nintendo WiiU) AppleWebKit/536.28 (KHTML, like Gecko) NX/3.0.3.12.14 NintendoBrowser/3.1.1.9577.EU
JP 5.2.0 September 29, 2014 Mozilla/5.0 (Nintendo WiiU) AppleWebKit/536.28 (KHTML, like Gecko) NX/3.0.3.12.14 NintendoBrowser/3.1.1.9577.JP
US 5.1.2 August 18, 2014 Mozilla/5.0 (Nintendo WiiU) AppleWebKit/536.28 (KHTML, like Gecko) NX/3.0.3.12.14 NintendoBrowser/3.1.1.9577.US
EU 5.1.2 August 18, 2014 Mozilla/5.0 (Nintendo WiiU) AppleWebKit/536.28 (KHTML, like Gecko) NX/3.0.3.12.14 NintendoBrowser/3.1.1.9577.EU
JP 5.1.2 August 18, 2014 Mozilla/5.0 (Nintendo WiiU) AppleWebKit/536.28 (KHTML, like Gecko) NX/3.0.3.12.14 NintendoBrowser/3.1.1.9577.JP
US 5.1.1 August 4, 2014 Mozilla/5.0 (Nintendo WiiU) AppleWebKit/536.28 (KHTML, like Gecko) NX/3.0.3.12.14 NintendoBrowser/3.1.1.9577.US
EU 5.1.1 August 4, 2014 Mozilla/5.0 (Nintendo WiiU) AppleWebKit/536.28 (KHTML, like Gecko) NX/3.0.3.12.14 NintendoBrowser/3.1.1.9577.EU
JP 5.1.1 August 4, 2014 Mozilla/5.0 (Nintendo WiiU) AppleWebKit/536.28 (KHTML, like Gecko) NX/3.0.3.12.14 NintendoBrowser/3.1.1.9577.JP
US 5.1.0 July 22, 2014 Mozilla/5.0 (Nintendo WiiU) AppleWebKit/536.28 (KHTML, like Gecko) NX/3.0.3.12.12 NintendoBrowser/3.0.0.9561.US
EU 5.1.0 July 22, 2014 Mozilla/5.0 (Nintendo WiiU) AppleWebKit/536.28 (KHTML, like Gecko) NX/3.0.3.12.12 NintendoBrowser/3.0.0.9561.EU
JP 5.1.0 July 22, 2014 Mozilla/5.0 (Nintendo WiiU) AppleWebKit/536.28 (KHTML, like Gecko) NX/3.0.3.12.12 NintendoBrowser/3.0.0.9561.JP
US 5.0.0 June 3, 2014 Mozilla/5.0 (Nintendo WiiU) AppleWebKit/536.28 (KHTML, like Gecko) NX/3.0.3.12.12 NintendoBrowser/3.0.0.9561.US
EU 5.0.0 June 3, 2014 Mozilla/5.0 (Nintendo WiiU) AppleWebKit/536.28 (KHTML, like Gecko) NX/3.0.3.12.12 NintendoBrowser/3.0.0.9561.EU
JP 5.0.0 June 3, 2014 Mozilla/5.0 (Nintendo WiiU) AppleWebKit/536.28 (KHTML, like Gecko) NX/3.0.3.12.12 NintendoBrowser/3.0.0.9561.JP
US Mozilla/5.0 (Nintendo WiiU) AppleWebKit/536.28 (KHTML, like Gecko) NX/3.0.3.12.11 NintendoBrowser/2.1.0.9559.US
EU Mozilla/5.0 (Nintendo WiiU) AppleWebKit/536.28 (KHTML, like Gecko) NX/3.0.3.12.11 NintendoBrowser/2.1.0.9559.EU
JP Mozilla/5.0 (Nintendo WiiU) AppleWebKit/536.28 (KHTML, like Gecko) NX/3.0.3.12.11 NintendoBrowser/2.1.0.9559.JP
US 4.0.0 Sept 30, 2013 Mozilla/5.0 (Nintendo WiiU) AppleWebKit/536.28 (KHTML, like Gecko) NX/3.0.3.12.6 NintendoBrowser/2.0.0.9362.US
EU 4.0.0 Sept 30, 2013 Mozilla/5.0 (Nintendo WiiU) AppleWebKit/536.28 (KHTML, like Gecko) NX/3.0.3.12.6 NintendoBrowser/2.0.0.9362.EU
JP 4.0.0 Sept 30, 2013 Mozilla/5.0 (Nintendo WiiU) AppleWebKit/536.28 (KHTML, like Gecko) NX/3.0.3.12.6 NintendoBrowser/2.0.0.9362.JP
JP Mozilla/5.0 (Nintendo WiiU) AppleWebKit/536.28 (KHTML, like Gecko) NX/3.0.3.11.12 NintendoBrowser/2.0.0.9098.JP
JP Mozilla/5.0 (Nintendo WiiU) AppleWebKit/536.28 (KHTML, like Gecko) NX/3.0.3.12.3 NintendoBrowser/2.0.0.0.JP
US Mozilla/5.0 (Nintendo WiiU) AppleWebKit/534.52 (KHTML, like Gecko) NX/2.1.0.10.9 NintendoBrowser/1.5.0.8047.US
EU/AU Mozilla/5.0 (Nintendo WiiU) AppleWebKit/534.52 (KHTML, like Gecko) NX/2.1.0.10.9 NintendoBrowser/1.5.0.8047.EU
JP Mozilla/5.0 (Nintendo WiiU) AppleWebKit/534.52 (KHTML, like Gecko) NX/2.1.0.10.9 NintendoBrowser/1.5.0.8047.JP
US 2.1.0 Dec 4, 2012 Mozilla/5.0 (Nintendo WiiU) AppleWebKit/534.52 (KHTML, like Gecko) NX/2.1.0.8.23 NintendoBrowser/1.1.0.7579.US
EU/AU 2.1.0 Dec 4, 2012 Mozilla/5.0 (Nintendo WiiU) AppleWebKit/534.52 (KHTML, like Gecko) NX/2.1.0.8.23 NintendoBrowser/1.1.0.7579.EU
JP 2.1.0 Dec 4, 2012 Mozilla/5.0 (Nintendo WiiU) AppleWebKit/534.52 (KHTML, like Gecko) NX/2.1.0.8.23 NintendoBrowser/1.1.0.7579.JP
US 2.0.0 Nov 18, 2012 Mozilla/5.0 (Nintendo WiiU) AppleWebKit/534.52 (KHTML, like Gecko) NX/2.1.0.8.21 NintendoBrowser/1.0.0.7494.US
EU/AU 2..0.0 Nov 18, 2012 Mozilla/5.0 (Nintendo WiiU) AppleWebKit/534.52 (KHTML, like Gecko) NX/2.1.0.8.21 NintendoBrowser/1.0.0.7494.EU
JP Mozilla/5.0 (Nintendo WiiU) AppleWebKit/534.52 (KHTML, like Gecko) NX/2.1.0.8.20 NintendoBrowser/1.0.0.7123.JP
JP Mozilla/5.0 (Nintendo WiiU) AppleWebKit/534.52 (KHTML, like Gecko) NX/2.1.0.8.8 NintendoBrowser/1.0.0.6760.JP

Multimedia Support

Internet Browser supports HTML5 audio and video but the <video> and <audio> tag are not implemented. The only video format supported is H.264 either in an MPEG-4 container or in an MPEG-2 transport stream with a M3U8 index according to the HTTP Live Streaming specification. The only audio format supported is AAC encoded with the Low Complexity (LC) profile in an MPEG-4 container.

The browser can display BMP, PNG, GIF, JPEG, and SVG images, but Image Preview mode only supports JPEG images.

Other HTML5 features supported include canvas, web storage, web messaging, server-sent events, device orientation, and WOFF.

External plugins, such as Flash and Java, are not supported.

Controls

Under normal circumstances, Internet Browser uses the following controls:

  Scroll/Pan
  Click Hide/show bottom toolbar
  Zoom
  Click Toggle zoom in/out on center of screen
  Zoom in
  Zoom out
  Back to previous page
  Forward to next page
  Switch to previous tab
  Switch to next tab
Hold  +  Tilt scrolling
  Select links / form fields
  Send the "Enter" key (keyCode 13)
  Back to previous page
Hold   Close current tab
  View bookmarks
  Toggle curtain mode
  Quit browser
Tap screen Click page elements
Double-tap screen Zoom in/out on point
Touch drag Scroll/Pan

Some of these functions can be disabled by markup on a web page.


Wii U Scripting Functionality

In addition to W3C standard keyboard, touch screen, and motion tracking functionality, Internet Browser exposes many Wii U input and output functions to Javascript through the wiiu object.

W3C Events

Internet Browser supports the following W3C input events:

Event Name Callback Function W3C Documentation
"keydown" element.onkeydown DOM Level 3
"keypress" element.onkeypress
"keyup" element.onkeyup
"click" element.onclick
"mousedown" element.onmousedown
"mouseup" element.onmouseup
"mouseover"[1] element.onmouseover
"mouseout"[1] element.onmouseout
"mousemove"[1] element.onmousemove
"touchstart" element.ontouchstart Touch Events
"touchmove" element.ontouchmove
"touchend" element.ontouchend
"touchcancel" element.ontouchcancel
"devicemotion" window.ondevicemotion DeviceOrientation Event Specification
"deviceorientation" window.ondeviceorientation

[1] The mouseover, mouseout, and mousemove events only work for clickable elements, i.e., elements with a defined onclick handler.

Only the following buttons are recognized with the key events:

Button keyCode
  13
  37
  38
  39
  40

Additionally, most non-input events from DOM Level 3 are supported.

Supported HTML5 Features

Note that local storage is cleared when the browser is closed. Web messaging may not be fully functional. (TODO: test this)

wiiu.gamepad

The wiiu.gamepad object allows Javascript functions to read the current state of the primary GamePad.

Reading values

In order to read any values from the GamePad, the function wiiu.gamepad.update() must be invoked. This will populate all of the properties on the wiiu.gamepad object with the current information about the sticks, accelerometers, gyroscopes, buttons, and touch screen. For convenience, this function also returns a reference to the wiiu.gamepad object, allowing for idioms like var state = wiiu.gamepad.update();. It is safe to invoke this function in a timer for real-time updates.

After a successful update, wiiu.gamepad.isDataValid will be set to 1. If no update has happened yet, or if the GamePad is not connected, it will be set to 0.

If the GamePad is connected wiiu.gamepad.isEnabled will be set to 1, else it will be set to 0.

Touch Screen

The wiiu.gamepad.tpTouch variable indicates whether or not there is currently an active touch on the screen. If this variable is 1, the following variables will be set:

Variable Value
wiiu.gamepad.tpTouch 1 if touch is present
wiiu.gamepad.tpValidity 0 = X and Y coordinates valid

1 = X coordinate invalid 2 = Y coordinate invalid 3 = X and Y coordinates invalid

wiiu.gamepad.tpX X position in screen coordinates
wiiu.gamepad.tpY Y position in screen coordinates
wiiu.gamepad.contentX X position in page coordinates
wiiu.gamepad.contentY Y position in page coordinates

Analog Sticks

The following variables store the current state of the left and right analog sticks. Each value ranges from -1.0 to +1.0.

Variable Value
wiiu.gamepad.lStickX   X deflection
wiiu.gamepad.lStickY   Y deflection
wiiu.gamepad.rStickX   X deflection
wiiu.gamepad.rStickY   Y deflection

Buttons

The variable wiiu.gamepad.hold is a bitmask indicating all buttons currently being depressed on the GamePad, including the click states of the analog sticks. Almost all buttons are represented by in this bitmask although the browser's default behaviors may cause some values to be unusable.

Button Decimal Hex
  Left 1073741824 0x40000000
  Right 536870912 0x20000000
  Up 268435456 0x10000000
  Down 134217728 0x08000000
  Left 67108864 0x04000000
  Right 33554432 0x02000000
  Up 16777216 0x01000000
  Down 8388608 0x00800000
  Click 262144 0x00040000
  Click 131072 0x00020000
  65536 0x00010000
  32768 0x00008000
  16384 0x00004000
  8192 0x00002000
  4096 0x00001000
  2048 0x00000800
  1024 0x00000400
  512 0x00000200
  256 0x00000100
  128 0x00000080
  64 0x00000040
  32 0x00000020
  16 0x00000010
  8 0x00000008
  4 0x00000004
  2 0x00000002

The Power button does not appear in the hold variable in the browser, probably 0x01.

Pressing the Home button closes the browser but triggers the event with keycode 2, So you can see that by going back to the browser after pressing it (The Power button doesn't trigger the event).

Accelerometer

The following variables hold the current state of the GamePad's accelerometers.

Variable Value
wiiu.gamepad.accX Force on X (horizontal) axis
wiiu.gamepad.accY Force on Y (depth) axis
wiiu.gamepad.accZ Force on Z (vertical) axis

These variables form a vector showing the current acceleration forces on the GamePad, measured in Gs. When held level and motionless, the force of gravity will cause these variables to contain the vector (0.0, -1.0, 0.0).

Gyroscope

The following variables hold the current state of the GamePad's gyroscopes.

Variable Value
wiiu.gamepad.gyroX Rotation speed around X (horizontal) axis
wiiu.gamepad.gyroY Rotation speed around Y (depth) axis
wiiu.gamepad.gyroZ Rotation speed around Z (vertical) axis

When the GamePad is motionless these values hover around 0.0.

Angle

The following variables hold the current angle of rotation of the GamePad.

Variable Value
wiiu.gamepad.angleX Rotation around X (horizontal) axis
wiiu.gamepad.angleY Rotation around Y (depth) axis
wiiu.gamepad.angleZ Rotation around Z (vertical) axis

A change of 1.0 in these values represents a complete revolution around the specified axis. These variables do not appear to wrap around; multiple revolutions around the same axis will cause the value to continuously increase or decrease.

If properly calibrated, angleX and angleZ should hover around 0.0 when the GamePad is held level, but as the gyroscopes have limited range and resolution the alignment will drift with use.

Orientation

There are nine variables that tie into the GamePad's orientation tracking, organized into three three-dimensional vectors:

Axis X Y Z
X (horizontal) axis wiiu.gamepad.dirXx wiiu.gamepad.dirXy wiiu.gamepad.dirXz
Y (depth) axis wiiu.gamepad.dirYx wiiu.gamepad.dirYy wiiu.gamepad.dirYz
Z (vertical) axis wiiu.gamepad.dirZx wiiu.gamepad.dirZy wiiu.gamepad.dirZz

This is a basis of three perpendicular unit vectors; that is, each vector has length 1.0 and points along the relevant axis of the GamePad relative to an arbitrary starting orientation in three-dimensional space.

wiiu.remote

While Internet Browser exposes a wiiu.remote object, at the present time no way is known how to activate it. Presumedly it would allow Javascript functions to read the current state of the primary Wii Remote and its Motion Plus accessory.

All subsequent documentation is only a best guess at functionality based on the property names and how it worked on the Wii.

Reading values

In order to read any values from a Wii Remote, the function wiiu.remote.update(n) must be invoked, where n is the number of the Wii Remote. This populates all of the properties on the wiiu.remote object with the current information about the pointer, accelerometers, gyroscopes, and buttons of the selected Wii Remote. For convenience, this function also returns a reference to the wiiu.remote object, allowing for idioms like var state = wiiu.remote.update(0);. It is safe to invoke this function in a timer for real-time updates.

If the specified Wii Remote returns valid data, wiiu.remote.isDataValid will be set to 1. If no update has happened yet, or if the selected Wii Remote is not connected, it will be set to 0.

Buttons

The variable wiiu.remote.held is a bitmask indicating all buttons currently being depressed on the Wii Remote.

Button Decimal Hex
  4096 0x00001000
  2048 0x00000800
  1024 0x00000400
  512 0x00000200
  256 0x00000100
  128 0x00000080
  16 0x00000010
  8 0x00000008
  4 0x00000004
  2 0x00000002
  1 0x00000001

Accelerometer

The following variables hold the current state of the Wii Remote's accelerometers.

Variable Value
wiiu.remote.accX Force on X (horizontal) axis
wiiu.remote.accY Force on Y (depth) axis
wiiu.remote.accZ Force on Z (vertical) axis

These variables form a vector showing the current acceleration forces on the Wii Remote, measured in Gs. When held level and motionless, the force of gravity will cause these variables to contain the vector (0.0, -1.0, 0.0).

Pointer

The following variables track the Wii Remote's cursor on the screen.

Variable Value
wiiu.remote.dpdX X position in screen coordinates
wiiu.remote.dpdY Y position in screen coordinates
wiiu.remote.dpdDistance Distance between Wii Remote and Sensor Bar
wiiu.remote.contentX X position in page coordinates
wiiu.remote.contentY Y position in page coordinates
wiiu.remote.isCursorViewable 1 if cursor display is enabled
wiiu.remote.dpdValidity 0 = X and Y coordinates valid

1 = X coordinate invalid 2 = Y coordinate invalid 3 = X and Y coordinates invalid

Additionally, the function wiiu.remote.setCursorViewable(n, enable) will enable or disable the display of a Wii Remote's cursor.

Motion Plus

There are nine variables that tie into the Motion Plus orientation tracking, organized into three three-dimensional vectors:

Axis X Y Z
X (horizontal) axis wiiu.remote.mplsDirXx wiiu.remote.mplsDirXy wiiu.remote.mplsDirXz
Y (depth) axis wiiu.remote.mplsDirYx wiiu.remote.mplsDirYy wiiu.remote.mplsDirYz
Z (vertical) axis wiiu.remote.mplsDirZx wiiu.remote.mplsDirZy wiiu.remote.mplsDirZz

This is a basis of three perpendicular unit vectors; that is, each vector has length 1.0 and points along the relevant axis of the GamePad relative to an arbitrary starting orientation in three-dimensional space.

The following variables are also available to track the motion of the Wii Remote:

Variable Value
wiiu.remote.mplsAngX Rotation around X (horizontal) axis
wiiu.remote.mplsAngY Rotation around Y (depth) axis
wiiu.remote.mplsAngZ Rotation around Z (vertical) axis
wiiu.remote.mplsVelX Movement speed along X (horizontal) axis
wiiu.remote.mplsVelY Movement speed along Y (depth) axis
wiiu.remote.mplsVelZ Movement speed along Z (vertical) axis
wiiu.remote.mplsRollX TODO: ?
wiiu.remote.mplsRollY TODO: ?

wiiu.videoplayer

The wiiu.videoplayer object controls the display of fullscreen HTML5 videos.

Property Value
wiiu.videoplayer.viewMode 1 if browser is visible on GamePad. 0 if video is visible on GamePad. Read/write.
Method Effect
wiiu.videoplayer.end() Stops the currently playing video. Returns true if successful.
Event Documentation
"wiiu_videoplayer_end" Triggered when video playback ends.

wiiu.imageview

The wiiu.imageview object manages the Image Preview feature.

Property Value
wiiu.imageview.viewMode 1 if browser is visible on GamePad. 0 if image preview is visible on GamePad. Read/write.
Method Effect
wiiu.imageview.end() Closes Image Preview mode. Returns true if successful.
wiiu.imageview.getErrorCode() Returns the most recent error code for Image Preview. The error codes are documented below.
Event Documentation
"wiiu_imageview_start" Triggered when Image Preview mode is enabled.
"wiiu_imageview_end" Triggered when Image Preview mode is closed.
"wiiu_imageview_change_viewmode" Triggered when Image Preview is toggled between the TV and the GamePad. (The callback is of type function(mode) where mode is the new viewmode)
"wiiu_imageview_change_content" Triggered when Image Preview opens a new image.
"wiiu_imageview_error" Triggered when an error occurs when loading an image. See wiiu.imageview.getErrorCode() and the table of error codes below.

wiiu.imageview.getErrorCode() may return the following values:

Code Meaning
-1 No error
202 Unsupported image format
203 Image dimensions too large
204 File size too large
205 Too many pixels in progressive-mode JPEG

External links

  • Official Nintendo documentation for wiiu en, jp
  • Official Nintendo wiiu demonstration page en, jp
  • Nintendo open-source code download page [1]
  • Source code for wiiu object, extracted from above [2]
  • Cyan's port of Blob Sallad for the Wii U Internet Browser [3]