Internal Browser

For all Desktop versions of Kiosk{ed} we leverage Chrome version 61 as the built-in browser. The browser is bundled with the application for macOS and Windows, and uses the installed browser for Chrome OS. We support version 61 and higher for Chromebooks, so you may run into versions above 61, but never below.

For iOS we display your content in a WKWebView control which is based on WebKit. It behaves like the native Safari browser. This is the same component the Chrome App leverages for rendering due to technical restrictions imposed by the App Store. This component was introduced in iOS 8 as a significant upgrade over the previous UIWebView component. Apple has continued to make improvements.


Standards Support

Our goal is to provide a consistent web environment for your application across all platforms, but there are a few things to be aware of, especially if you want to support tablets. This section details the standards alignment of the internal browser controls.

HTML5

For our Desktop platforms, Chrome continues to provide one of the most complete HTML5 implementations with very few gaps. It supports Canvas, Web Workers, Shadow DOM, WebGL, many new input types, and much more. Unless you are really pushing the envelope, you should not run in to any major limitations. We do recommend paying attention to audio and video support if you plan on embedding media elements in your content. Providing video in H.264 and audio in AAC or MP3 works on all platforms and has wide support.

For iOS, you have to pay closer attention to the HTML5 features you use. Many of the gaps in HTML5 are related to the lack of a mouse and may never be addressed. For example, drag and drop event handlers are absent, but there are open source shims available. The recommended audio and video formats (H.264 and audio in AAC or MP3) work for iOS and with a few exceptions, tablet support is fairly painless. Apple continues to improve the internal browser control making it much easier to support.

For a deeper dive, we recommend using HTML5Test to identify any gaps in feature support.

HTML5Test Scores out of 555

JavaScript (ES6/2015)

With Chrome 61 and iOS 10.2+ we have full support for ES6 features and partial support for 2017 and 2018 features. You should not have any issues unless you are using newer features like async and Promise functions. Review the ECMAScript Compatibility tables for further details.

Cascading Style Sheets (CSS3)

Both internal browsers have done a nice job keeping up with the latest in CSS. Check the CanIUse website if you are pushing the envelope on this front. Reference Chrome 61 and iOS Safari 10.1 in the tables when verifying support.


Detecting the Browser

Some test scenarios may require a test be taken within a secured environment. There are currently two methods for confirming that your content is being delivered within the Kiosk{ed} browser. Either or both approaches can be used.

  1. The User Agent includes the string “KioskED” and the current version number (for example: KioskED/1.1.0).
  2. A kiosk object exists when the document is fully loaded.
  
  // Check user agent
  if (navigator.appVersion.indexOf("KioskEd") == -1) {
    console.warn("Not being displayed with in Kiosk{ed}")
  }

  // Check object
  if (typeof (kiosk) === "undefined") {
    console.warn("Not being displayed with in Kiosk{ed}")
  }


PDF Viewing

Kiosk{ed} uses a custom pdf view that does not support iFrames. If PDFs need to be displayed inside your application, avoid nesting them in iFrames. Standard href links should be sufficient, but contact our support team if you have any issues.


Developer Tools

Refer to the Debugging section for troubleshooting and details on accessing the developer tools on each platform.

2018 © Learning Logistics. All Rights Reserved.