function pageload(view, meta) { // Funktion zum Laden des Inhalts
secondaryNavigation("close"); // Schließe das Stecker-Menü
page = window.location.hash.substr(1); // Hole die aufzurufende Seite über den URL-Hash (#xy)
$.ajax({
url: "pagecontent/" + page + ".php?view=" + view + "&meta=" + meta, // Pfad der zu ladenden Seite aufbauen
success: function(result){ // Abfrage erfolgreich
$("#content").html(result);
$("div.navigation>div").removeClass("active"); // Alle Buttons inaktiv
$("#" + page).addClass("active"); // Button mit Klasse "page" wird aktiv geschaltet (im Menü)
}});
}
function checkConnection(last) { // Verbindunsstatus überwachen // Last ist der letzte gemessene Netzwerkzustand
$.ajax({
url: "actions/connection-test.php?a=" + Date.now(), // verändere idr URL leicht, damit der Server nicht cached
timeout: 5000, // maximale Wartezeit sind 5 Sekunden; alles darüber wird als zu unzuverlässig angesehen
error: function(jqXHR, textStatus, errorThrown) { // Wenn ein Fehler bei der Anfrage auftritt (z.B. Netzwerkprobleme)
$(".navigation-footer").html('
Keine Verbindung
');
console.error("Fehler bei der Anfrage:", textStatus, errorThrown);
if (last != 1) { // letzter Zustand war "online" // Vermeiden von ständigen Nachrichten
message("Keine Verbindung"); // Werfe eine Nachricht
}
setTimeout(function() { // nächste Prüfung in 5 Sekunden
checkConnection(1); // der Status offline wird mit übertragen
}, 5000);
},
success: function(data) { // Verbindung iO
setTimeout(function() { // nächste Prüfung in 5 Sekunden
checkConnection();
}, 5000);
if (data == 'true') { // der Rückgabewert ist true, alles IO
$(".navigation-footer").html('Verbunden
');
if (last == 1) { // war der letzte Status noch "offline", wird der Nutzer benachrichtigt
message("Verbindung wiederhergestellt!");
}
} else { // außergewöhnlicher Fehler, aber möglich
message("Keine Verbindung"); // Verbindung dennoch unbrauchbar, wenn keine Daten geladen werden
$(".navigation-footer").html('Keine Verbindung
');
}
}
});
}
function secondaryNavigation(animation, content) {
if (animation == "open") {
$.get("pagecontent/plug-select.php", {
},
function(data, status) {
if (status == "success") {
if (data != 'false') {
$("#navigation-secondary").css("left", "250px");
$(".navigation-header").attr("onclick", "secondaryNavigation('close','plug-select')");
setTimeout(function() {
$("#navigation-secondary").html(data);
console.log(data);
}, 200);
} else {
window.location.href = "#";
alert("Die Inhalte konnten nicht abgerufen werden. Vergewissern Sie sich, dass Sie mit dem WLAN-Netzwerk verbunden sind und laden Sie bei Bedarf die Seite neu.");
}
}
});
} else {
$("#navigation-secondary").css("left", "-250px");
$(".navigation-header").attr("onclick", "secondaryNavigation('open','plug-select')");
}
}
function message(content) {
$("#message-box").html(content);
$("#message-box").css("display", "block");
setTimeout(function() {
$("#message-box").css("transform", "translateY(0)");
}, 50);
setTimeout(function() {
setTimeout(function() {
$("#message-box").css("display", "none");
}, 500);
$("#message-box").css("transform", "translateY(calc(100% + 5px))");
}, 3000);
}
$(window).bind('beforeunload', function() {
$("#warning").css("display", "block");
return 'Are you sure you want to leave?';
});