-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Windows 8 JavaScript Runtimes
The following are the four different IE 10 runtime environments that are present in Windows 8.
The runtime environment of the Internet Explorer app which is present in the Windows 8 Start screen mode, which is the default GUI.
- UA:
"Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Win64; x64; Trident/6.0; .NET4.0E; .NET4.0C)"
- More restrictive than IE Desktop.
- Limited and restricted support for plugins (i.e., no ActiveX, Flash, Silverlight, etc.)
The runtime environment of the Internet Explorer app which is present in the Windows 8 Desktop mode, which is the transitional Windows interface.
- UA:
"Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0; .NET4.0E; .NET4.0C)"
WebViews are useful for building hybrid apps that, for example, combine a native C# Windows app with web-based content rendering.
While testing YUI in the IE 10 WebView runtime, we noticed the following restrictions:
- Locked down compared to Internet Explorer
- No JavaScript-to-device APIs (e.g., camera, clipboard, geolocation, etc.)
- Restricted innerHTML (e.g., no JavaScript in dynamic markup.)
Microsoft describes the WebView restrictions in detail on its MSDN website.
The native Windows Runtime allows developers to create Windows 8 apps using JavaScript and other HTML5 technologies, and these apps are distributed through the Windows Store.
The native Windows Runtime is both a restricted IE 10 runtime, and is extended via the native Windows
and WinJS
APIs. While testing YUI in the native Windows Runtime, we noticed the following differences:
- Environment is only available to native Windows 8 apps.
- All assets must be on device (i.e., remote JavaScript, CSS, etc. is not allowed.)
- No support for JSONP.
- Extended with both Windows and WinJS APIs, allowing apps to use device functionality (e.g., camera, clipboard, geolocation, etc.)
- Restricted innerHTML (e.g., no JavaScript in dynamic markup.)
- Support for CORS in XMLHttpRequest.
- WinJS.xhr is a wrapper which uses promises.
- IFrame support is unpredictable.
Microsoft’s MSDN website has a complete list of HTML and DOM API changes for Windows Store apps which use JavaScript.
2