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_playindex = -1;
|
||||||
var __i2psnark_playsize = 0;
|
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=()=>{
|
const setupplaybuttons=()=>{
|
||||||
var button = document.getElementById('playall');
|
let button = document.getElementById('playall');
|
||||||
if (button === null)
|
if (button === null)
|
||||||
return;
|
return;
|
||||||
var audios = document.getElementsByClassName("audio");
|
const audios = document.getElementsByClassName("audio");
|
||||||
__i2psnark_playsize = audios.length;
|
__i2psnark_playsize = audios.length;
|
||||||
for (var i = 0; i < __i2psnark_playsize; i++) {
|
for (var i = 0; i < __i2psnark_playsize; i++) {
|
||||||
var audio = audios[i];
|
const audio = audios[i];
|
||||||
audio.addEventListener("ended", function() {
|
audio.addEventListener("ended", function() {
|
||||||
audioended();
|
audioended();
|
||||||
});
|
});
|
||||||
@ -76,13 +80,13 @@ const setupplaybuttons=()=>{
|
|||||||
const playprev=()=>{
|
const playprev=()=>{
|
||||||
if (__i2psnark_playindex <= 0)
|
if (__i2psnark_playindex <= 0)
|
||||||
return;
|
return;
|
||||||
var audios = document.getElementsByClassName("audio");
|
const audios = document.getElementsByClassName("audio");
|
||||||
if (__i2psnark_isplaying) {
|
if (__i2psnark_isplaying) {
|
||||||
audios[__i2psnark_playindex].pause();
|
audios[__i2psnark_playindex].pause();
|
||||||
audios[__i2psnark_playindex].fastSeek(0);
|
audios[__i2psnark_playindex].currentTime = 0;
|
||||||
}
|
}
|
||||||
__i2psnark_playindex--;
|
__i2psnark_playindex--;
|
||||||
audios[__i2psnark_playindex].fastSeek(0);
|
audios[__i2psnark_playindex].currentTime = 0;
|
||||||
audios[__i2psnark_playindex].play();
|
audios[__i2psnark_playindex].play();
|
||||||
playing();
|
playing();
|
||||||
}
|
}
|
||||||
@ -90,13 +94,13 @@ const playprev=()=>{
|
|||||||
const playnext=()=>{
|
const playnext=()=>{
|
||||||
if (__i2psnark_playindex >= __i2psnark_playsize - 1)
|
if (__i2psnark_playindex >= __i2psnark_playsize - 1)
|
||||||
return;
|
return;
|
||||||
var audios = document.getElementsByClassName("audio");
|
const audios = document.getElementsByClassName("audio");
|
||||||
if (__i2psnark_isplaying) {
|
if (__i2psnark_isplaying) {
|
||||||
audios[__i2psnark_playindex].pause();
|
audios[__i2psnark_playindex].pause();
|
||||||
audios[__i2psnark_playindex].fastSeek(0);
|
audios[__i2psnark_playindex].currentTime = 0;
|
||||||
}
|
}
|
||||||
__i2psnark_playindex++;
|
__i2psnark_playindex++;
|
||||||
audios[__i2psnark_playindex].fastSeek(0);
|
audios[__i2psnark_playindex].currentTime = 0;
|
||||||
audios[__i2psnark_playindex].play();
|
audios[__i2psnark_playindex].play();
|
||||||
playing();
|
playing();
|
||||||
}
|
}
|
||||||
@ -105,7 +109,7 @@ const playpause=()=>{
|
|||||||
__i2psnark_autoplay = false;
|
__i2psnark_autoplay = false;
|
||||||
if (!__i2psnark_isplaying)
|
if (!__i2psnark_isplaying)
|
||||||
return;
|
return;
|
||||||
var audios = document.getElementsByClassName("audio");
|
const audios = document.getElementsByClassName("audio");
|
||||||
audios[__i2psnark_playindex].pause();
|
audios[__i2psnark_playindex].pause();
|
||||||
notplaying();
|
notplaying();
|
||||||
}
|
}
|
||||||
@ -116,8 +120,9 @@ const playall=()=>{
|
|||||||
return;
|
return;
|
||||||
if (__i2psnark_playindex >= __i2psnark_playsize - 1 || __i2psnark_playindex < 0)
|
if (__i2psnark_playindex >= __i2psnark_playsize - 1 || __i2psnark_playindex < 0)
|
||||||
__i2psnark_playindex = 0;
|
__i2psnark_playindex = 0;
|
||||||
var audios = document.getElementsByClassName("audio");
|
const audios = document.getElementsByClassName("audio");
|
||||||
audios[__i2psnark_playindex].fastSeek(0);
|
// no, start where we were before
|
||||||
|
//audios[__i2psnark_playindex].currentTime = 0;
|
||||||
audios[__i2psnark_playindex].play();
|
audios[__i2psnark_playindex].play();
|
||||||
playing();
|
playing();
|
||||||
}
|
}
|
||||||
@ -125,13 +130,13 @@ const playall=()=>{
|
|||||||
// events
|
// events
|
||||||
|
|
||||||
const audioended=()=>{
|
const audioended=()=>{
|
||||||
var audio = event.target;
|
const audio = event.target;
|
||||||
audio.fastSeek(0);
|
audio.currentTime = 0;
|
||||||
__i2psnark_playindex = Number(audio.getAttribute("audioindex"));
|
__i2psnark_playindex = Number(audio.getAttribute("audioindex"));
|
||||||
if (__i2psnark_playindex < __i2psnark_playsize - 1) {
|
if (__i2psnark_playindex < __i2psnark_playsize - 1) {
|
||||||
__i2psnark_playindex++;
|
__i2psnark_playindex++;
|
||||||
if (__i2psnark_autoplay) {
|
if (__i2psnark_autoplay) {
|
||||||
var audios = document.getElementsByClassName("audio");
|
const audios = document.getElementsByClassName("audio");
|
||||||
audios[__i2psnark_playindex].play();
|
audios[__i2psnark_playindex].play();
|
||||||
playing();
|
playing();
|
||||||
} else {
|
} else {
|
||||||
@ -144,19 +149,20 @@ const audioended=()=>{
|
|||||||
}
|
}
|
||||||
|
|
||||||
const audiopause=()=>{
|
const audiopause=()=>{
|
||||||
var audio = event.target;
|
const audio = event.target;
|
||||||
__i2psnark_playindex = Number(audio.getAttribute("audioindex"));
|
__i2psnark_playindex = Number(audio.getAttribute("audioindex"));
|
||||||
notplaying();
|
notplaying();
|
||||||
}
|
}
|
||||||
|
|
||||||
const audioplay=()=>{
|
const audioplay=()=>{
|
||||||
var audio = event.target;
|
const audio = event.target;
|
||||||
var old__i2psnark_playindex = __i2psnark_playindex;
|
const old__i2psnark_playindex = __i2psnark_playindex;
|
||||||
__i2psnark_playindex = Number(audio.getAttribute("audioindex"));
|
__i2psnark_playindex = Number(audio.getAttribute("audioindex"));
|
||||||
if (__i2psnark_isplaying && old__i2psnark_playindex != __i2psnark_playindex && old__i2psnark_playindex >= 0 && old__i2psnark_playindex <= __i2psnark_playsize - 1) {
|
if (__i2psnark_isplaying && old__i2psnark_playindex != __i2psnark_playindex && old__i2psnark_playindex >= 0 && old__i2psnark_playindex <= __i2psnark_playsize - 1) {
|
||||||
// prevent two at once
|
// prevent two at once
|
||||||
|
const audios = document.getElementsByClassName("audio");
|
||||||
audios[old__i2psnark_playindex].pause();
|
audios[old__i2psnark_playindex].pause();
|
||||||
audios[old__i2psnark_playindex].fastSeek(0);
|
audios[old__i2psnark_playindex].currentTime = 0;
|
||||||
}
|
}
|
||||||
playing();
|
playing();
|
||||||
}
|
}
|
||||||
@ -165,7 +171,7 @@ const audioplay=()=>{
|
|||||||
|
|
||||||
const playing=()=>{
|
const playing=()=>{
|
||||||
__i2psnark_isplaying = true;
|
__i2psnark_isplaying = true;
|
||||||
var button = document.getElementById('playprev');
|
let button = document.getElementById('playprev');
|
||||||
if (__i2psnark_playindex > 0) {
|
if (__i2psnark_playindex > 0) {
|
||||||
button.disabled=false;
|
button.disabled=false;
|
||||||
button.classList.remove("controld");
|
button.classList.remove("controld");
|
||||||
@ -200,7 +206,7 @@ const playing=()=>{
|
|||||||
|
|
||||||
const notplaying=()=>{
|
const notplaying=()=>{
|
||||||
__i2psnark_isplaying = false;
|
__i2psnark_isplaying = false;
|
||||||
var button = document.getElementById('playprev');
|
let button = document.getElementById('playprev');
|
||||||
if (__i2psnark_playindex > 0) {
|
if (__i2psnark_playindex > 0) {
|
||||||
button.disabled=false;
|
button.disabled=false;
|
||||||
button.classList.remove("controld");
|
button.classList.remove("controld");
|
||||||
|
Reference in New Issue
Block a user