This commit is contained in:
DaGammla
2022-11-27 21:30:29 +01:00
parent 4a3638745c
commit ca72af8db6
7 changed files with 134 additions and 73 deletions
+60
View File
@@ -0,0 +1,60 @@
/*
* Keep Silk Open
* https://gitlab.com/DaGammla/keep-silk-open
*
* Released under the MIT license
* https://gitlab.com/DaGammla/keep-silk-open/-/blob/main/LICENSE
*
* 2022 by DaGammla
*/
(() => {
const userAgent = navigator.userAgent.toLowerCase()
const alwaysUse = typeof AlwaysUseSilk != "undefined" && !!AlwaysUseSilk
if (userAgent.includes("silk") || alwaysUse){
let source = document.currentScript.getAttribute("src")
const lastDivider = source.lastIndexOf("/")
source = source.slice(0, lastDivider + 1) + "media.mp3"
const nowQuery = () => `?q=${Date.now()}`
const audio = document.createElement("audio")
audio.controls = false
audio.src = source + nowQuery()
audio.muted = true
audio.autoplay = true
audio.loop = true
document.body.appendChild(audio)
const listenEvents = ["keydown", "click"]
const addAllListeners = (listener) => {
listenEvents.forEach(ev => {
document.addEventListener(ev, listener)
});
}
const removeAllListeners = (listener) => {
listenEvents.forEach(ev => {
document.removeEventListener(ev, listener)
});
}
const reload = () => {
audio.src = source + nowQuery()
audio.currentTime = 0
audio.play()
}
const startMedia = () => {
reload()
audio.muted = false
audio.loop = false
audio.onended = reload
removeAllListeners(startMedia)
}
addAllListeners(startMedia)
}
})()