mirror of
https://github.com/KevinMidboe/zoff.git
synced 2025-10-29 18:00:23 +00:00
Better loading of iframe/soundcloud sdk
- Mitigates some errors on load
This commit is contained in:
@@ -15,9 +15,10 @@ try {
|
|||||||
var SC_widget;
|
var SC_widget;
|
||||||
var scUsingWidget = false;
|
var scUsingWidget = false;
|
||||||
var SC_player;
|
var SC_player;
|
||||||
|
var sc_initialized = false;
|
||||||
var soundcloud_enabled = true;
|
var soundcloud_enabled = true;
|
||||||
var local_new_channel = false;
|
var local_new_channel = false;
|
||||||
var sc_need_initialization = false;
|
var sc_need_initialization = true;
|
||||||
var small_player = false;
|
var small_player = false;
|
||||||
var hiddenPlaylist = false;
|
var hiddenPlaylist = false;
|
||||||
var videoSource;
|
var videoSource;
|
||||||
@@ -250,49 +251,8 @@ window.addEventListener("DOMContentLoaded", function() {
|
|||||||
firstScriptTag = document.getElementsByTagName('script')[0];
|
firstScriptTag = document.getElementsByTagName('script')[0];
|
||||||
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
|
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
|
||||||
}
|
}
|
||||||
if(document.querySelectorAll("script[src='https://connect.soundcloud.com/sdk/sdk-3.3.0.js']").length == 1) {
|
Player.loadSoundCloudPlayer();
|
||||||
|
Player.loadSoundCloudIframe();
|
||||||
} else {
|
|
||||||
tagSC = document.createElement('script');
|
|
||||||
if (tagSC.readyState){ //IE
|
|
||||||
tagSC.onreadystatechange = function(){
|
|
||||||
if (tagSC.readyState == "loaded" ||
|
|
||||||
tagSC.readyState == "complete"){
|
|
||||||
tagSC.onreadystatechange = null;
|
|
||||||
if(sc_need_initialization) {
|
|
||||||
if(SC_player != null && SC_player != undefined && SC_widget != null && SC_widget != undefined) {
|
|
||||||
Player.soundcloudReady();
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
SC_player = SC;
|
|
||||||
SC_player.initialize({
|
|
||||||
client_id: api_key.soundcloud
|
|
||||||
}, function() {
|
|
||||||
});
|
|
||||||
}
|
|
||||||
Player.loadSoundCloudIframe();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
} else { //Others
|
|
||||||
tagSC.onload = function(){
|
|
||||||
if(sc_need_initialization) {
|
|
||||||
if(SC_player != null && SC_player != undefined && SC_widget != null && SC_widget != undefined) {
|
|
||||||
Player.soundcloudReady();
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
SC_player = SC;
|
|
||||||
SC_player.initialize({
|
|
||||||
client_id: api_key.soundcloud
|
|
||||||
}, function() {
|
|
||||||
});
|
|
||||||
}
|
|
||||||
Player.loadSoundCloudIframe();
|
|
||||||
};
|
|
||||||
}
|
|
||||||
tagSC.src = "https://connect.soundcloud.com/sdk/sdk-3.3.0.js";
|
|
||||||
firstScriptTagSC = document.getElementsByTagName('script')[0];
|
|
||||||
firstScriptTagSC.parentNode.insertBefore(tagSC, firstScriptTagSC);
|
|
||||||
}
|
|
||||||
} else if(window.location.pathname == "/" && client) {
|
} else if(window.location.pathname == "/" && client) {
|
||||||
//Player.loadSoundCloudPlayer();
|
//Player.loadSoundCloudPlayer();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -325,8 +325,9 @@ var Player = {
|
|||||||
_autoAdd = "true";
|
_autoAdd = "true";
|
||||||
Helper.removeClass("#player_loader_container", "hide");
|
Helper.removeClass("#player_loader_container", "hide");
|
||||||
}
|
}
|
||||||
|
window.SC_player = SC_player;
|
||||||
SC_player.stream("/tracks/" + id).then(function(player){
|
SC_player.stream("/tracks/" + id).then(function(player){
|
||||||
|
scUsingWidget = false;
|
||||||
Player.soundcloud_player = player;
|
Player.soundcloud_player = player;
|
||||||
Player.soundcloud_player.bind("finish", Player.soundcloudFinish);
|
Player.soundcloud_player.bind("finish", Player.soundcloudFinish);
|
||||||
Player.soundcloud_player.bind("pause", Player.soundcloudPause);
|
Player.soundcloud_player.bind("pause", Player.soundcloudPause);
|
||||||
@@ -341,10 +342,9 @@ var Player = {
|
|||||||
document.querySelector("#soundcloud_listen_link").href = sound.permalink_url;
|
document.querySelector("#soundcloud_listen_link").href = sound.permalink_url;
|
||||||
document.querySelector(".soundcloud_info_container .green").href = sound.user.permalink_url;
|
document.querySelector(".soundcloud_info_container .green").href = sound.user.permalink_url;
|
||||||
//document.querySelector(".soundcloud_info_container .red").href = sound.user.permalink_url;
|
//document.querySelector(".soundcloud_info_container .red").href = sound.user.permalink_url;
|
||||||
});
|
}).catch(function(){});
|
||||||
if(_autoplay) {
|
if(_autoplay) {
|
||||||
player.play().then(function(){
|
player.play().then(function(){
|
||||||
scUsingWidget = false;
|
|
||||||
Player.soundcloud_player.setVolume(embed ? 1 : Crypt.get_volume() / 100);
|
Player.soundcloud_player.setVolume(embed ? 1 : Crypt.get_volume() / 100);
|
||||||
Player.soundcloud_player.seek((seekTo) * 1000);
|
Player.soundcloud_player.seek((seekTo) * 1000);
|
||||||
}).catch(function(e){
|
}).catch(function(e){
|
||||||
@@ -416,6 +416,16 @@ var Player = {
|
|||||||
Player.soundcloud_player.bind("finish", Player.soundcloudFinish);
|
Player.soundcloud_player.bind("finish", Player.soundcloudFinish);
|
||||||
Player.soundcloud_player.bind("pause", Player.soundcloudPause);
|
Player.soundcloud_player.bind("pause", Player.soundcloudPause);
|
||||||
Player.soundcloud_player.bind("play", Player.soundcloudPlay);
|
Player.soundcloud_player.bind("play", Player.soundcloudPlay);
|
||||||
|
|
||||||
|
SC_player.get('/tracks', {
|
||||||
|
ids: id
|
||||||
|
}).then(function(tracks) {
|
||||||
|
var sound = tracks[0];
|
||||||
|
Helper.removeClass(".soundcloud_info_container", "hide");
|
||||||
|
document.querySelector("#soundcloud_listen_link").href = sound.permalink_url;
|
||||||
|
document.querySelector(".soundcloud_info_container .green").href = sound.user.permalink_url;
|
||||||
|
//document.querySelector(".soundcloud_info_container .red").href = sound.user.permalink_url;
|
||||||
|
}).catch(function(){});
|
||||||
} catch(e) {
|
} catch(e) {
|
||||||
setTimeout(function() {
|
setTimeout(function() {
|
||||||
Player.addSCWidgetElements();
|
Player.addSCWidgetElements();
|
||||||
@@ -824,15 +834,6 @@ var Player = {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
sc_need_initialization = false;
|
sc_need_initialization = false;
|
||||||
try {
|
|
||||||
SC_player.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) {
|
||||||
@@ -1118,13 +1119,19 @@ var Player = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Player.loadSoundCloudPlayer();
|
Player.loadSoundCloudPlayer();
|
||||||
|
Player.loadSoundCloudIframe();
|
||||||
},
|
},
|
||||||
|
|
||||||
loadSoundCloudPlayer: function() {
|
loadSoundCloudPlayer: function() {
|
||||||
if(document.querySelectorAll("script[src='https://connect.soundcloud.com/sdk/sdk-3.3.0.js']").length == 1) {
|
if(document.querySelectorAll("script[src='https://connect.soundcloud.com/sdk/sdk-3.3.0.js']").length == 1) {
|
||||||
try {
|
try {
|
||||||
if(SC_player != null && SC_player != undefined && SC_widget != null && SC_widget != undefined) {
|
if(SC_player != null && SC_player != undefined && SC_widget != null && SC_widget != undefined && !sc_initialized) {
|
||||||
|
SC_player.initialize({
|
||||||
|
client_id: api_key.soundcloud
|
||||||
|
});
|
||||||
|
sc_initialized = true;
|
||||||
Player.soundcloudReady();
|
Player.soundcloudReady();
|
||||||
|
|
||||||
}
|
}
|
||||||
} catch(error) {
|
} catch(error) {
|
||||||
sc_need_initialization = true;
|
sc_need_initialization = true;
|
||||||
@@ -1132,30 +1139,39 @@ var Player = {
|
|||||||
//console.error("Seems SoundCloud script isn't correctly loaded. Please reload the page.");
|
//console.error("Seems SoundCloud script isn't correctly loaded. Please reload the page.");
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
tagSC = document.createElement('script');
|
var tagSC = document.createElement('script');
|
||||||
if (tagSC.readyState){ //IE
|
if (tagSC.readyState){ //IE
|
||||||
tagSC.onreadystatechange = function(){
|
tagSC.onreadystatechange = function(){
|
||||||
if (tagSC.readyState == "loaded" ||
|
if (tagSC.readyState == "loaded" ||
|
||||||
tagSC.readyState == "complete"){
|
tagSC.readyState == "complete"){
|
||||||
|
|
||||||
tagSC.onreadystatechange = null;
|
tagSC.onreadystatechange = null;
|
||||||
SC_player = SC;
|
SC_player = SC;
|
||||||
if(SC_player != null && SC_player != undefined && SC_widget != null && SC_widget != undefined) {
|
if(SC_player != null && SC_player != undefined && SC_widget != null && SC_widget != undefined && !sc_initialized) {
|
||||||
|
SC_player.initialize({
|
||||||
|
client_id: api_key.soundcloud
|
||||||
|
});
|
||||||
|
sc_initialized = true;
|
||||||
Player.soundcloudReady();
|
Player.soundcloudReady();
|
||||||
}
|
}
|
||||||
Player.loadSoundCloudIframe();
|
//Player.loadSoundCloudIframe();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
} else { //Others
|
} else { //Others
|
||||||
tagSC.onload = function(){
|
tagSC.onload = function(){
|
||||||
SC_player = SC;
|
SC_player = SC;
|
||||||
if(SC_player != null && SC_player != undefined && SC_widget != null && SC_widget != undefined) {
|
if(SC_player != null && SC_player != undefined && SC_widget != null && SC_widget != undefined && !sc_initialized) {
|
||||||
|
SC_player.initialize({
|
||||||
|
client_id: api_key.soundcloud
|
||||||
|
});
|
||||||
|
sc_initialized = true;
|
||||||
Player.soundcloudReady();
|
Player.soundcloudReady();
|
||||||
}
|
}
|
||||||
Player.loadSoundCloudIframe();
|
//Player.loadSoundCloudIframe();
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
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];
|
var firstScriptTagSC = document.getElementsByTagName('script')[0];
|
||||||
firstScriptTagSC.parentNode.insertBefore(tagSC, firstScriptTagSC);
|
firstScriptTagSC.parentNode.insertBefore(tagSC, firstScriptTagSC);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -1163,7 +1179,11 @@ var Player = {
|
|||||||
loadSoundCloudIframe: function() {
|
loadSoundCloudIframe: function() {
|
||||||
if(document.querySelectorAll("script[src='/assets/sclib/scapi.js']").length == 1) {
|
if(document.querySelectorAll("script[src='/assets/sclib/scapi.js']").length == 1) {
|
||||||
try {
|
try {
|
||||||
if(SC_player != null && SC_player != undefined && SC_widget != null && SC_widget != undefined) {
|
if(SC_player != null && SC_player != undefined && SC_widget != null && SC_widget != undefined && !sc_initialized) {
|
||||||
|
SC_player.initialize({
|
||||||
|
client_id: api_key.soundcloud
|
||||||
|
});
|
||||||
|
sc_initialized = true;
|
||||||
Player.soundcloudReady();
|
Player.soundcloudReady();
|
||||||
}
|
}
|
||||||
} catch(error) {
|
} catch(error) {
|
||||||
@@ -1172,29 +1192,37 @@ var Player = {
|
|||||||
//console.error("Seems SoundCloud script isn't correctly loaded. Please reload the page.");
|
//console.error("Seems SoundCloud script isn't correctly loaded. Please reload the page.");
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
tagSC = document.createElement('script');
|
var tagSCWidget = document.createElement('script');
|
||||||
if (tagSC.readyState){ //IE
|
if (tagSCWidget.readyState){ //IE
|
||||||
tagSC.onreadystatechange = function(){
|
tagSCWidget.onreadystatechange = function(){
|
||||||
if (tagSC.readyState == "loaded" ||
|
if (tagSCWidget.readyState == "loaded" ||
|
||||||
tagSC.readyState == "complete"){
|
tagSCWidget.readyState == "complete"){
|
||||||
tagSC.onreadystatechange = null;
|
tagSCWidget.onreadystatechange = null;
|
||||||
SC_widget = SC;
|
SC_widget = SC;
|
||||||
if(SC_player != null && SC_player != undefined && SC_widget != null && SC_widget != undefined) {
|
if(SC_player != null && SC_player != undefined && SC_widget != null && SC_widget != undefined && !sc_initialized) {
|
||||||
|
SC_player.initialize({
|
||||||
|
client_id: api_key.soundcloud
|
||||||
|
});
|
||||||
|
sc_initialized = true;
|
||||||
Player.soundcloudReady();
|
Player.soundcloudReady();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
} else { //Others
|
} else { //Others
|
||||||
tagSC.onload = function(){
|
tagSCWidget.onload = function(){
|
||||||
SC_widget = SC;
|
SC_widget = SC;
|
||||||
if(SC_player != null && SC_player != undefined && SC_widget != null && SC_widget != undefined) {
|
if(SC_player != null && SC_player != undefined && SC_widget != null && SC_widget != undefined && !sc_initialized) {
|
||||||
|
SC_player.initialize({
|
||||||
|
client_id: api_key.soundcloud
|
||||||
|
});
|
||||||
|
sc_initialized = true;
|
||||||
Player.soundcloudReady();
|
Player.soundcloudReady();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
tagSC.src = "/assets/sclib/scapi.js";
|
tagSCWidget.src = "/assets/sclib/scapi.js";
|
||||||
firstScriptTagSC = document.getElementsByTagName('script')[0];
|
var firstScriptTagSCWidget = document.getElementsByTagName('script')[0];
|
||||||
firstScriptTagSC.parentNode.insertBefore(tagSC, firstScriptTagSC);
|
firstScriptTagSCWidget.parentNode.insertBefore(tagSCWidget, firstScriptTagSCWidget);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user