Eigentlich ist da nichts zu Zeigen, das ist dein code :) Wenn ich dies als html speicher und öffne, funktionier der alarmsound nicht. Kopiere ich dies jedoch in codepen. Funktioniert es.
Außer codepen hab ich aber noch nichts gefunden wo es auch funktioniert :)
Ach ja, ich hab unten folgendes geändert "window.open(zeiten[d - 1][2], 'Alarm',);" in der hoffnung das einfach ein neuer tab aufgeht aber gilt ein neuer tab so auch als popup und wird geblockt?
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Test</title>
</head>
<body>
<div id="clock" class="clock"></div>
<div id="weckzeiten"></div>
<script>
var time, alarm, currentH, currentM,
activeAlarm = true,
sound = new Audio("
https://freesound.org/data/previews/316/316847_4939433-lq.mp3");
c = document.getElementById('clock');
var tage = ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'];
var zeiten = [
['0', '14:00:00', '
https://blablabla.com'],
['0', '14:00:00', '
https://blablabla.com'],
['1', '14:00:00', '
https://blablabla.com'],
['1', '14:00:00', '
https://blablabla.com'],
['2', '14:00:00', '
https://blablabla.com'],
['2', '14:00:00', '
https://blablabla.com'],
['3', '14:00:00', '
https://blablabla.com'],
['3', '14:00:00', '
https://blablabla.com'],
['4', '19:47:10', '
https://blablabla.com'],
['4', '14:00:00', '
https://blablabla.com'],
['5', '14:00:00', '
https://blablabla.com'],
['5', '14:00:00', '
https://blablabla.com'],
['6', '14:00:00', '
https://blablabla.com'],
['6', '14:00:00', '
https://blablabla.com'],
];
times = document.getElementById('weckzeiten');
for (h = 0; h < zeiten.length; h++) {
times.innerHTML += '<div><span>' + tage[zeiten[h][0]] + '</span><span> ' + zeiten[h][1] + '</span></div>';
}
sound.loop = false;
function displayTime() {
var now = new Date();
time = now.toLocaleTimeString();
c.textContent = time;
for (d = 1; d <= zeiten.length; d++) {
if (zeiten[d - 1][1] === time) {
var dt = new Date();
console.log(zeiten[d - 1][0] + '=' + dt.getDay())
if (zeiten[d - 1][0] == dt.getDay()) {
sound.play();
window.open(zeiten[d - 1][2], 'Alarm',);
}
}
}
setTimeout(displayTime, 1000);
}
displayTime();
</script>
</body>
</html>