move bad browser check into standalone files
This commit is contained in:
parent
7eb103f747
commit
1d41b5a54f
|
@ -0,0 +1,10 @@
|
||||||
|
|
||||||
|
// use dates as vars so they're not stripped out by minification
|
||||||
|
let letCheck = new Date();
|
||||||
|
const constCheck = new Date();
|
||||||
|
const arrowCheck = (() => new Date())();
|
||||||
|
|
||||||
|
if (letCheck && constCheck && arrowCheck) {
|
||||||
|
window.localStorage.setItem('goodBrowser', 'true');
|
||||||
|
console.log('badBrowserCheckA: PASS')
|
||||||
|
}
|
|
@ -0,0 +1,36 @@
|
||||||
|
var badBrowser = false;
|
||||||
|
|
||||||
|
try {
|
||||||
|
// Local storage
|
||||||
|
window.localStorage.setItem('test', 'test');
|
||||||
|
window.localStorage.removeItem('test');
|
||||||
|
|
||||||
|
// Flexbox
|
||||||
|
var el = document.createElement('div');
|
||||||
|
el.style.display = 'flex';
|
||||||
|
if (el.style.display !== 'flex') {
|
||||||
|
badBrowser = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// const and let check from badBrowserCheckA.js
|
||||||
|
if (window.localStorage.goodBrowser !== 'true') {
|
||||||
|
badBrowser = true;
|
||||||
|
}
|
||||||
|
window.localStorage.removeItem('goodBrowser');
|
||||||
|
|
||||||
|
} catch (err) {
|
||||||
|
badBrowser = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (badBrowser) {
|
||||||
|
console.log('badBrowserCheckB: FAIL');
|
||||||
|
var el = document.getElementsByClassName('BadBrowser')[0];
|
||||||
|
el.className += ' is-open';
|
||||||
|
// Dumb check for known mobile OS's. Not important to catch all, just
|
||||||
|
// displays more appropriate information.
|
||||||
|
if (/iPhone|iPad|iPod|Android/i.test(navigator.userAgent)) {
|
||||||
|
el.className += ' is-mobile';
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
console.log('badBrowserCheckB: PASS')
|
||||||
|
}
|
|
@ -71,40 +71,6 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script>
|
|
||||||
(function () {
|
|
||||||
var badBrowser = false;
|
|
||||||
|
|
||||||
try {
|
|
||||||
// Let and const
|
|
||||||
eval('let a = 1;');
|
|
||||||
eval('const b = 1');
|
|
||||||
|
|
||||||
// Local storage
|
|
||||||
window.localStorage.setItem('test', 'test');
|
|
||||||
window.localStorage.removeItem('test');
|
|
||||||
|
|
||||||
// Flexbox
|
|
||||||
var el = document.createElement('div');
|
|
||||||
el.style.display = 'flex';
|
|
||||||
if (el.style.display !== 'flex') {
|
|
||||||
badBrowser = false;
|
|
||||||
}
|
|
||||||
} catch (err) {
|
|
||||||
badBrowser = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (badBrowser) {
|
|
||||||
var el = document.getElementsByClassName('BadBrowser')[0];
|
|
||||||
el.className += ' is-open';
|
|
||||||
// Dumb check for known mobile OS's. Not important to catch all, just
|
|
||||||
// displays more appropriate information.
|
|
||||||
if (/iPhone|iPad|iPod|Android/i.test(navigator.userAgent)) {
|
|
||||||
el.className += ' is-mobile';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})();
|
|
||||||
</script>
|
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
||||||
|
|
|
@ -32,6 +32,8 @@ module.exports = function(opts = {}) {
|
||||||
// ====== Entry =======
|
// ====== Entry =======
|
||||||
// ====================
|
// ====================
|
||||||
const entry = {
|
const entry = {
|
||||||
|
badBrowserCheckA: './common/badBrowserCheckA.js',
|
||||||
|
badBrowserCheckB: './common/badBrowserCheckB.js',
|
||||||
client: './common/index.tsx'
|
client: './common/index.tsx'
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue