forked from I2P_Developers/i2p.i2p
playlist js updates
fix chrome partially fix dup play detection var -> let/const
This commit is contained in:
@ -6,14 +6,18 @@ var __i2psnark_autoplay = false;
|
||||
var __i2psnark_playindex = -1;
|
||||
var __i2psnark_playsize = 0;
|
||||
|
||||
// note that we use currentTime = 0, not fastSeek(0), because
|
||||
// Chrome doesn't support it.
|
||||
// https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement
|
||||
|
||||
const setupplaybuttons=()=>{
|
||||
var button = document.getElementById('playall');
|
||||
let button = document.getElementById('playall');
|
||||
if (button === null)
|
||||
return;
|
||||
var audios = document.getElementsByClassName("audio");
|
||||
const audios = document.getElementsByClassName("audio");
|
||||
__i2psnark_playsize = audios.length;
|
||||
for (var i = 0; i < __i2psnark_playsize; i++) {
|
||||
var audio = audios[i];
|
||||
const audio = audios[i];
|
||||
audio.addEventListener("ended", function() {
|
||||
audioended();
|
||||
});
|
||||
@ -76,13 +80,13 @@ const setupplaybuttons=()=>{
|
||||
const playprev=()=>{
|
||||
if (__i2psnark_playindex <= 0)
|
||||
return;
|
||||
var audios = document.getElementsByClassName("audio");
|
||||
const audios = document.getElementsByClassName("audio");
|
||||
if (__i2psnark_isplaying) {
|
||||
audios[__i2psnark_playindex].pause();
|
||||
audios[__i2psnark_playindex].fastSeek(0);
|
||||
audios[__i2psnark_playindex].currentTime = 0;
|
||||
}
|
||||
__i2psnark_playindex--;
|
||||
audios[__i2psnark_playindex].fastSeek(0);
|
||||
audios[__i2psnark_playindex].currentTime = 0;
|
||||
audios[__i2psnark_playindex].play();
|
||||
playing();
|
||||
}
|
||||
@ -90,13 +94,13 @@ const playprev=()=>{
|
||||
const playnext=()=>{
|
||||
if (__i2psnark_playindex >= __i2psnark_playsize - 1)
|
||||
return;
|
||||
var audios = document.getElementsByClassName("audio");
|
||||
const audios = document.getElementsByClassName("audio");
|
||||
if (__i2psnark_isplaying) {
|
||||
audios[__i2psnark_playindex].pause();
|
||||
audios[__i2psnark_playindex].fastSeek(0);
|
||||
audios[__i2psnark_playindex].currentTime = 0;
|
||||
}
|
||||
__i2psnark_playindex++;
|
||||
audios[__i2psnark_playindex].fastSeek(0);
|
||||
audios[__i2psnark_playindex].currentTime = 0;
|
||||
audios[__i2psnark_playindex].play();
|
||||
playing();
|
||||
}
|
||||
@ -105,7 +109,7 @@ const playpause=()=>{
|
||||
__i2psnark_autoplay = false;
|
||||
if (!__i2psnark_isplaying)
|
||||
return;
|
||||
var audios = document.getElementsByClassName("audio");
|
||||
const audios = document.getElementsByClassName("audio");
|
||||
audios[__i2psnark_playindex].pause();
|
||||
notplaying();
|
||||
}
|
||||
@ -116,8 +120,9 @@ const playall=()=>{
|
||||
return;
|
||||
if (__i2psnark_playindex >= __i2psnark_playsize - 1 || __i2psnark_playindex < 0)
|
||||
__i2psnark_playindex = 0;
|
||||
var audios = document.getElementsByClassName("audio");
|
||||
audios[__i2psnark_playindex].fastSeek(0);
|
||||
const audios = document.getElementsByClassName("audio");
|
||||
// no, start where we were before
|
||||
//audios[__i2psnark_playindex].currentTime = 0;
|
||||
audios[__i2psnark_playindex].play();
|
||||
playing();
|
||||
}
|
||||
@ -125,13 +130,13 @@ const playall=()=>{
|
||||
// events
|
||||
|
||||
const audioended=()=>{
|
||||
var audio = event.target;
|
||||
audio.fastSeek(0);
|
||||
const audio = event.target;
|
||||
audio.currentTime = 0;
|
||||
__i2psnark_playindex = Number(audio.getAttribute("audioindex"));
|
||||
if (__i2psnark_playindex < __i2psnark_playsize - 1) {
|
||||
__i2psnark_playindex++;
|
||||
if (__i2psnark_autoplay) {
|
||||
var audios = document.getElementsByClassName("audio");
|
||||
const audios = document.getElementsByClassName("audio");
|
||||
audios[__i2psnark_playindex].play();
|
||||
playing();
|
||||
} else {
|
||||
@ -144,19 +149,20 @@ const audioended=()=>{
|
||||
}
|
||||
|
||||
const audiopause=()=>{
|
||||
var audio = event.target;
|
||||
const audio = event.target;
|
||||
__i2psnark_playindex = Number(audio.getAttribute("audioindex"));
|
||||
notplaying();
|
||||
}
|
||||
|
||||
const audioplay=()=>{
|
||||
var audio = event.target;
|
||||
var old__i2psnark_playindex = __i2psnark_playindex;
|
||||
const audio = event.target;
|
||||
const old__i2psnark_playindex = __i2psnark_playindex;
|
||||
__i2psnark_playindex = Number(audio.getAttribute("audioindex"));
|
||||
if (__i2psnark_isplaying && old__i2psnark_playindex != __i2psnark_playindex && old__i2psnark_playindex >= 0 && old__i2psnark_playindex <= __i2psnark_playsize - 1) {
|
||||
// prevent two at once
|
||||
const audios = document.getElementsByClassName("audio");
|
||||
audios[old__i2psnark_playindex].pause();
|
||||
audios[old__i2psnark_playindex].fastSeek(0);
|
||||
audios[old__i2psnark_playindex].currentTime = 0;
|
||||
}
|
||||
playing();
|
||||
}
|
||||
@ -165,7 +171,7 @@ const audioplay=()=>{
|
||||
|
||||
const playing=()=>{
|
||||
__i2psnark_isplaying = true;
|
||||
var button = document.getElementById('playprev');
|
||||
let button = document.getElementById('playprev');
|
||||
if (__i2psnark_playindex > 0) {
|
||||
button.disabled=false;
|
||||
button.classList.remove("controld");
|
||||
@ -200,7 +206,7 @@ const playing=()=>{
|
||||
|
||||
const notplaying=()=>{
|
||||
__i2psnark_isplaying = false;
|
||||
var button = document.getElementById('playprev');
|
||||
let button = document.getElementById('playprev');
|
||||
if (__i2psnark_playindex > 0) {
|
||||
button.disabled=false;
|
||||
button.classList.remove("controld");
|
||||
|
Reference in New Issue
Block a user