Skip to content

Commit f92ef50

Browse files
committed
Use "nomodule" instead of manual check
Very few browsers are left in the wild that supports modules but not "nomodule", so let's simplify our handling a bit.
1 parent e1d50c8 commit f92ef50

File tree

3 files changed

+6
-43
lines changed

3 files changed

+6
-43
lines changed

utils/use_require.js

Lines changed: 4 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -105,27 +105,11 @@ function transform_html(legacy_scripts, only_legacy) {
105105
new_script += ` <script src="${legacy_scripts[i]}"></script>\n`;
106106
}
107107
} else {
108-
// Otherwise detect if it's a modern browser and select
109-
// variant accordingly
110-
new_script += `\
111-
<script type="module">\n\
112-
window._noVNC_has_module_support = true;\n\
113-
</script>\n\
114-
<script>\n\
115-
window.addEventListener("load", function() {\n\
116-
if (window._noVNC_has_module_support) return;\n\
117-
let legacy_scripts = ${JSON.stringify(legacy_scripts)};\n\
118-
for (let i = 0;i < legacy_scripts.length;i++) {\n\
119-
let script = document.createElement("script");\n\
120-
script.src = legacy_scripts[i];\n\
121-
script.async = false;\n\
122-
document.head.appendChild(script);\n\
123-
}\n\
124-
});\n\
125-
</script>\n`;
126-
127-
// Original, ES6 modules
108+
// Otherwise include both modules and legacy fallbacks
128109
new_script += ' <script type="module" crossorigin="anonymous" src="app/ui.js"></script>\n';
110+
for (let i = 0;i < legacy_scripts.length;i++) {
111+
new_script += ' <script nomodule src="${legacy_scripts[i]}"></script>\n';
112+
}
129113
}
130114

131115
contents = contents.slice(0, start_ind) + `${new_script}\n` + contents.slice(end_ind);

vnc.html

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -57,17 +57,7 @@
5757
<!-- promise polyfills promises for IE11 -->
5858
<script src="vendor/promise.js"></script>
5959
<!-- ES2015/ES6 modules polyfill -->
60-
<script type="module">
61-
window._noVNC_has_module_support = true;
62-
</script>
63-
<script>
64-
window.addEventListener("load", function() {
65-
if (window._noVNC_has_module_support) return;
66-
var loader = document.createElement("script");
67-
loader.src = "vendor/browser-es-module-loader/dist/browser-es-module-loader.js";
68-
document.head.appendChild(loader);
69-
});
70-
</script>
60+
<script nomodule src="vendor/browser-es-module-loader/dist/browser-es-module-loader.js"></script>
7161
<!-- actual script modules -->
7262
<script type="module" crossorigin="anonymous" src="app/ui.js"></script>
7363
<!-- end scripts -->

vnc_lite.html

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -61,18 +61,7 @@
6161
<script src="vendor/promise.js"></script>
6262

6363
<!-- ES2015/ES6 modules polyfill -->
64-
<script type="module">
65-
window._noVNC_has_module_support = true;
66-
</script>
67-
<script>
68-
window.addEventListener("load", function() {
69-
if (window._noVNC_has_module_support) return;
70-
const loader = document.createElement("script");
71-
loader.src = "vendor/browser-es-module-loader/dist/" +
72-
"browser-es-module-loader.js";
73-
document.head.appendChild(loader);
74-
});
75-
</script>
64+
<script nomodule src="vendor/browser-es-module-loader/dist/browser-es-module-loader.js"></script>
7665

7766
<!-- actual script modules -->
7867
<script type="module" crossorigin="anonymous">

0 commit comments

Comments
 (0)