Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
AroriaNetwork
GitHub Repository: AroriaNetwork/3kho-backup
Path: blob/main/projects/slope/shared/lib.js
1835 views
1
window.BrowserDetector = (function () {
2
function detect() {
3
var ua = navigator.userAgent;
4
var tem;
5
var M = ua.match(/(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*(\d+\.\d+)/i) || [];
6
if (/trident/i.test(M[1])) {
7
tem = /\brv[ :]+(\d+\.\d+)/g.exec(ua) || [];
8
return { name: "Internet Explorer", version: tem[1] || "" };
9
}
10
if (/(coc_coc_browser|edge(?=\/))\/?\s*(\d+\.\d+)/i.test(ua)) {
11
tem = ua.match(/(coc_coc_browser|edge(?=\/))\/?\s*(\d+)\.\d+/i);
12
if (tem != null) {
13
return { name: tem[1] == "Edge" ? tem[1] : "CocCoc", version: tem[2] };
14
}
15
}
16
if (M[1] === "Chrome") {
17
tem = ua.match(/\bOPR\/(\d+\.\d+)/);
18
if (tem != null) {
19
return { name: "Opera", version: tem[1] };
20
}
21
}
22
M = M[2] ? [M[1], M[2]] : [navigator.appName, navigator.appVersion, "-?"];
23
if ((tem = ua.match(/version\/(\d+\.\d+)/i)) != null) {
24
M.splice(1, 1, tem[1]);
25
}
26
if (M[0] == "MSIE") {
27
M[0] = "Internet Explorer";
28
}
29
return { name: M[0], version: M[1] };
30
}
31
var detect = detect();
32
return {
33
name: detect.name,
34
version: detect.version,
35
msie: detect.name == "Internet Explorer",
36
msedge: detect.name == "Edge",
37
coccoc: detect.name == "CocCoc",
38
firefox: detect.name == "Firefox",
39
safari: detect.name == "Safari",
40
chrome: detect.name == "Chrome",
41
opera: detect.name == "Opera",
42
};
43
})();
44
function enableSound() {
45
return;
46
}
47
!(function () {
48
if (window.UnityLoader) {
49
if (window.UnityLoader.compatibilityCheck) {
50
window.UnityLoader.compatibilityCheck = function (element, callback, errCallback) {
51
callback();
52
};
53
}
54
}
55
if (!(BrowserDetector.chrome && BrowserDetector.version >= 66)) {
56
return;
57
}
58
function buildSoundOverlay() {
59
const overlay = document.createElement("div");
60
overlay.classList.add("sound-overlay");
61
overlay.setAttribute("id", "sound-overlay");
62
return overlay;
63
}
64
function buildSoundText() {
65
const textNode = document.createTextNode("Click here to enable sound!");
66
const textSpan = document.createElement("span");
67
textSpan.classList.add("sound-text");
68
textSpan.appendChild(textNode);
69
return textSpan;
70
}
71
const soundOverlay = buildSoundOverlay();
72
soundOverlay.appendChild(buildSoundText());
73
document.addEventListener("DOMContentLoaded", function () {
74
var root = document.getElementsByClassName("webgl-content")[0];
75
if (!root) {
76
root = document.getElementsByClassName("template-wrap")[0];
77
}
78
root.appendChild(soundOverlay);
79
});
80
"click removeSoundOverlay".split(" ").forEach((e) =>
81
document.addEventListener(
82
e,
83
function () {
84
soundOverlay.style.display = "none";
85
},
86
false
87
)
88
);
89
})();
90