forked from unconed/fuse10
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfallback.js
47 lines (37 loc) · 1.36 KB
/
fallback.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
Acko.Fallback = function () {
document.documentElement.classList.add('no-js');
document.documentElement.classList.remove('js');
// Navigation and behavior for native content
var scroll = window.scroller = new Acko.NativeScroll(0, 20000);
scroll.init();
var nav = window.nav = new Acko.Nav('native-frame', scroll);
nav.updateExtents();
Acko.Behaviors.apply(document.body);
};
Acko.Fallback.isRequired = (function () {
var oldOpera = navigator.userAgent.match(/Opera/) && !navigator.userAgent.match(/WebKit/);
var canvas = document.createElement('canvas');
var supported = !!(canvas && window.WebGLRenderingContext && canvas.getContext('experimental-webgl'));
return function () {
return oldOpera || !supported;
};
})();
Acko.Fallback.warnWebGL = function () {
if (Acko.Fallback.isRequired()) {
var close = document.querySelector('#webgl-warning a.close:not(.pinged)');
if (close) {
close.classList.add('pinged');
close.addEventListener('click', function (e) {
e.preventDefault();
Acko.Fallback.dismissWebGL();
});
}
var warning = document.querySelector('#webgl-warning');
warning.style.display = 'block';
warning.classList.remove('collapsed');
}
};
Acko.Fallback.dismissWebGL = function () {
var warning = document.querySelector('#webgl-warning');
warning.classList.add('collapsed');
};