25 lines
773 B
JavaScript
25 lines
773 B
JavaScript
|
"use strict"
|
||
|
|
||
|
function main() {
|
||
|
document.removeEventListener("DOMContentLoaded", main, false)
|
||
|
|
||
|
// NOTE: this is a hacky solution but should do the job for making a
|
||
|
// listenable audio link
|
||
|
function playAudio(evt) {
|
||
|
evt.preventDefault()
|
||
|
var audio = document.createElement("audio")
|
||
|
audio.addEventListener("ended", function() { audio.delete() }, false)
|
||
|
audio.addEventListener("loadeddata", function() { audio.play() }, false)
|
||
|
audio.src = evt.target.href
|
||
|
audio.load()
|
||
|
}
|
||
|
|
||
|
var audios = document.querySelectorAll("a[href^=\"data:audio/\"]")
|
||
|
Array.prototype.forEach.call(audios, function setupAudio(elem) {
|
||
|
elem.setAttribute("role", "button")
|
||
|
elem.addEventListener("click", playAudio, false)
|
||
|
})
|
||
|
}
|
||
|
|
||
|
document.addEventListener("DOMContentLoaded", main, false)
|