move ES6 feature detection from home1.css to home1.js
Combine the two inline script blocks into a single try/catch using new Function() so old browsers fail gracefully. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.6
parent
9b74aa26a8
commit
5a2bc3b4cb
@@ -608,43 +608,6 @@
|
||||
});
|
||||
</script>
|
||||
|
||||
<!-- If browser is pre-ES6, show a warning-->
|
||||
<script>
|
||||
window.isES6 = false;
|
||||
</script>
|
||||
<script>
|
||||
<!-- test ES6 functionality -->
|
||||
// Arrow functions support
|
||||
() => {};
|
||||
|
||||
// Class support
|
||||
class __ES6FeatureDetectionTest {}
|
||||
|
||||
// Object initializer property and method shorthands
|
||||
let es6a = true;
|
||||
let es6b = {
|
||||
es6a,
|
||||
es6c() {
|
||||
return true;
|
||||
},
|
||||
es6d: [1, 2, 3],
|
||||
};
|
||||
|
||||
// Object destructuring
|
||||
let { es6c, es6d } = es6b;
|
||||
|
||||
// Spread operator
|
||||
let es6e = [...es6d, 4];
|
||||
|
||||
// ternary operator
|
||||
let es6f = es6a ? "ternary" : "no ternary";
|
||||
|
||||
// nullish coalescing
|
||||
es6a ??= 10;
|
||||
|
||||
window.isES6 = true;
|
||||
</script>
|
||||
|
||||
<script type="text/javascript">
|
||||
window.onload = function () {
|
||||
<!-- display the error message if feature detection flags old browser -->
|
||||
|
||||
Reference in New Issue
Block a user