]> git.proxmox.com Git - mirror_novnc.git/commitdiff
Only load ES6 module loader polyfill if needed
authorFrederik Carlier <frederik.carlier@quamotion.mobi>
Fri, 29 Sep 2017 12:09:25 +0000 (14:09 +0200)
committerFrederik Carlier <frederik.carlier@quamotion.mobi>
Fri, 29 Sep 2017 12:09:25 +0000 (14:09 +0200)
Safari and Chrome now have native support for modules, so we need to make sure we only load our polyfill when actually needed.

vnc_lite.html

index 68faf42c87bea3d811205380a020f92d8b03abe6..729aabb1ec9bcab7da95c8228b8f92e097205d64 100644 (file)
 
     <!-- promise polyfills promises for IE11 -->
     <script src="vendor/promise.js"></script>
-    <script src="vendor/browser-es-module-loader/dist/browser-es-module-loader.js"></script>
+    <!-- ES2015/ES6 modules polyfill -->
+    <script type="module">
+        window._noVNC_has_module_support = true;
+    </script>
+    <script>
+        window.addEventListener("load", function() {
+            if (window._noVNC_has_module_support) return;
+            var loader = document.createElement("script");
+            loader.src = "vendor/browser-es-module-loader/dist/browser-es-module-loader.js";
+            document.head.appendChild(loader);
+        });
+    </script>
+
+    <!-- actual script modules -->
     <script type="module">
         // Load supporting scripts
         import * as WebUtil from './app/webutil.js';