2026-03-27 15:53:29 +00:00

58 lines
1.5 KiB
JavaScript

var ssaCompatibleBrowser = function () {
var objTest = typeof Object['__defineSetter__'] === 'function';
var arrayTest = !!Array.prototype.find;
var constTest = function () {
try {
const xy = 123;
return true;
} catch (err) {
return false;
}
};
var svgTest = !!document.createElementNS && !!document.createElementNS("http://www.w3.org/2000/svg", "svg");
var transitionTest = ('transition' in document.documentElement.style) || ('WebkitTransition' in document.documentElement.style);
var flexboxTest = function () {
var f = 'flex';
var fw = '-webkit-' + f;
var el = document.createElement('b');
try {
el.style.display = fw;
el.style.display = f;
return !!(el.style.display === f || el.style.display === fw);
} catch (err) {
return false;
}
};
var intlTest = function () {
try {
return !!(new Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD' }).format(123.456));
} catch (err) {
return false;
}
};
return objTest && arrayTest && constTest() && svgTest && transitionTest && flexboxTest() && intlTest();
}
if (!ssaCompatibleBrowser()) {
var adminApp = document.getElementById('ssa-admin-app');
if (adminApp) {
adminApp.parentNode.removeChild(adminApp);
}
var bookingApp = document.getElementById('ssa-booking-app');
if (bookingApp) {
bookingApp.parentNode.removeChild(bookingApp);
}
var message = document.getElementById('ssa-unsupported');
message.style.display = 'block'
throw new Error('Your browser is not compatible');
}