-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathindex.html
109 lines (103 loc) · 7.42 KB
/
index.html
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
<!DOCTYPE html>
<html lang="en">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1">
<meta charset="utf-8">
<meta name="theme-color" content="#222222">
<title>WLED Locator</title>
<style>
body {
background-color: #222;
color: white;
font-family: Helvetica, Verdana, sans-serif;
text-align: center;
line-height: 150%;
}
img {
width: 400px;
max-width: 50%;
}
button {
outline: none;
cursor: pointer;
padding: 8px;
margin: 10px;
width: 230px;
text-transform: uppercase;
font-family: helvetica;
font-size: 19px;
background-color: #333;
color: white;
border: 0px solid white;
border-radius: 25px;
}
#akemi {
filter: grayscale(0.7);
}
#suc {
display: none;
}
</style>
</head>
<body onload="go()">
<h3>WLED location setting tool</h3>
<img id="akemi" src=data:image/png;base64,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>
<div id="loc">Please grant the location permission.</div>
<br>
<div id="suc">
<b>Important:</b> Do not click if you got here from somewhere other than WLED settings!<br>
Otherwise, the previously visited website may see your location.<br>
<button onclick="sendPos()">Set in WLED</button><br>
</div>
<button onclick="cls()">Back</button>
<script>
var x = document.getElementById("loc");
var lat = 0, lon = 0;
function go() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPos, showError);
} else {
x.innerHTML = "✖ API unsupported";
}
}
function showPos(pos) {
x.style.color = "#00AA00";
document.getElementById("akemi").style.filter = "grayscale(0)";
lat = Math.round(pos.coords.latitude*100)/100;
lon = Math.round(pos.coords.longitude*100)/100;
x.innerHTML = "✔ Latitude: " + lat + ", Longitude: " + lon;
//if (window.opener) {
document.getElementById("suc").style.display = "block";
//}
}
function sendPos() {
if (window.opener) {
window.opener.postMessage({"lat":lat,"lon":lon},"*");
x.innerHTML = "✔ Location sent!";
setTimeout(cls, 250);
}
}
function cls(){
window.close();
history.back();
}
function showError(err) {
x.style.color = "red";
switch(err.code) {
case err.PERMISSION_DENIED:
x.innerHTML = "✖ No permission"
break;
case err.POSITION_UNAVAILABLE:
x.innerHTML = "✖ Location unavailable"
break;
case err.TIMEOUT:
x.innerHTML = "✖ Timeout"
break;
case err.UNKNOWN_ERROR:
x.innerHTML = "✖ An error occurred"
break;
}
}
</script>
</body>
</html>