Better soundcloud loader

This commit is contained in:
Kasper Rynning-Tønnesen
2018-08-29 12:16:12 +02:00
parent 1a4ba7ee1c
commit b8470dcba8
2 changed files with 33 additions and 13 deletions

View File

@@ -7,6 +7,7 @@ if(domain.length > 0 && domain[0] == "client") {
} }
var soundcloud_enabled = true; var soundcloud_enabled = true;
var local_new_channel = false; var local_new_channel = false;
var sc_need_initialization = false;
var hiddenPlaylist = false; var hiddenPlaylist = false;
var videoSource; var videoSource;
var dynamicListeners = {}; var dynamicListeners = {};
@@ -235,19 +236,27 @@ window.addEventListener("DOMContentLoaded", function() {
if (tagSC.readyState == "loaded" || if (tagSC.readyState == "loaded" ||
tagSC.readyState == "complete"){ tagSC.readyState == "complete"){
tagSC.onreadystatechange = null; tagSC.onreadystatechange = null;
if(sc_need_initialization) {
Player.soundcloudReady();
} else {
SC.initialize({
client_id: api_key.soundcloud
}, function() {
});
}
}
};
} else { //Others
tagSC.onload = function(){
if(sc_need_initialization) {
Player.soundcloudReady();
} else {
SC.initialize({ SC.initialize({
client_id: api_key.soundcloud client_id: api_key.soundcloud
}, function() { }, function() {
}); });
} }
}; };
} else { //Others
tagSC.onload = function(){
SC.initialize({
client_id: api_key.soundcloud
}, function() {
});
};
} }
tagSC.src = "https://connect.soundcloud.com/sdk/sdk-3.3.0.js"; tagSC.src = "https://connect.soundcloud.com/sdk/sdk-3.3.0.js";
firstScriptTagSC = document.getElementsByTagName('script')[0]; firstScriptTagSC = document.getElementsByTagName('script')[0];

View File

@@ -729,10 +729,20 @@ var Player = {
}, },
soundcloudReady: function() { soundcloudReady: function() {
SC.initialize({ if(SC == undefined && sc_need_initialization) {
client_id: api_key.soundcloud sc_need_initialization = true;
}, function() { return;
}); }
sc_need_initialization = false;
try {
SC.initialize({
client_id: api_key.soundcloud
}, function() {
});
} catch(e) {
sc_need_initialization = true;
return;
}
beginning = true; beginning = true;
player_ready = true; player_ready = true;
if(!durationBegun) { if(!durationBegun) {
@@ -999,8 +1009,9 @@ var Player = {
try { try {
Player.soundcloudReady(); Player.soundcloudReady();
} catch(error) { } catch(error) {
console.error(error); sc_need_initialization = true;
console.error("Seems SoundCloud script isn't correctly loaded. Please reload the page."); //console.error(error);
//console.error("Seems SoundCloud script isn't correctly loaded. Please reload the page.");
} }
} else { } else {
tagSC = document.createElement('script'); tagSC = document.createElement('script');