honeybee
Goto Top

Beim Seitenladen auf derselben Seite bleiben

Hallo,

ich bin gerade dabei, eine private Homepage zu erstellen.

Wenn ich die Seite neu laden möchte (mit der Taste "F5" oder ähnlich), dann wird die Seite zwar neu geladen, aber man bleibt nicht auf der ursprünglichen Seite, sondern kehrt zum Hauptmenü zurück. Wie kann ich einstellen, dass ich auf derselben Seite bleiben kann?

Content-ID: 348367

Url: https://administrator.de/contentid/348367

Ausgedruckt am: 25.11.2024 um 06:11 Uhr

SeaStorm
SeaStorm 06.09.2017 um 23:24:01 Uhr
Goto Top
Hi

F5 löst ein erneutes aufrufen der Adresse in der Adresszeile aus. Wenn du also keine Informationen in der Adresszeile stehen hast wo der User sich gerade befindet(also GET), dann wird das nix.
bbdtek
bbdtek 07.09.2017 um 00:23:44 Uhr
Goto Top
Hallo,

Versuchs mal mit der Rechten Maustaste in der Seite und dann den Punkt Aktualisieren.. dann ladet es normalerweise den aktuellen Inhalt neu und nicht die Adresszeilen Seite.

Gruß BB
wiesi200
wiesi200 07.09.2017 um 07:47:55 Uhr
Goto Top
Guten Morgen,

auch wenn du das nicht hören willst aber auch Grund deiner letzten Fragen kann ich dir nur raten das du dir erst mal die wichtigsten Grundlagen aneignest. Ist zwar langweilig aber später kommt nicht so viel Frust auf.
SlainteMhath
SlainteMhath 07.09.2017 um 10:11:43 Uhr
Goto Top
Moin,

@bbtek
Versuchs mal mit der Rechten Maustaste in der Seite und dann den Punkt Aktualisieren.. dann ladet es normalerweise den aktuellen Inhalt neu und nicht die Adresszeilen Seite.
Sorry aber das ist vollkommener Schmarrn. "Aktualisieren" im Kontextmenüe und F5 sind (zumindest bei den Browsern die ich verwende) vollkommen fubnktionsgleich.


@honeybee
Ohne das du uns die Struktur und Funktionsweise näher erläuterst wird dir auf die Frage keiner eine Antwort geben können.

@wiesi200
+1 face-smile

lg,
Slainte
117471
117471 07.09.2017 aktualisiert um 11:53:55 Uhr
Goto Top
Hallo,

ich bin gerade dabei, eine private Homepage zu erstellen.

Wenn ich die Seite neu laden möchte (mit der Taste "F5" oder ähnlich), dann wird die Seite zwar neu geladen, aber man bleibt nicht auf der ursprünglichen Seite, sondern kehrt zum Hauptmenü zurück.

Du hast - wieder aller Ratschläge - so genannte "Frames" verwendet. Das ist eine Technik aus dem letzten Jahrtausend, die genau aus derartigen Gründen verpönt ist und glücklicherweise mit HTML5 aus dem Standard entfernt wurde: https://wiki.selfhtml.org/wiki/HTML/Frames#Nachteile

Bitte benutze eine aktuelle Technologie. Wenn Du zu faul bist, in jeder Seite ein statisch programmiertes Menü abzubilden (was ich durchaus nachvollziehen kann), kannst Du das Menü z.B. via PHP nachladen oder ein Content Management System benutzen.

Aber, mit Verlauf - das jetzt zu erklären käme einer kompletten Berufsausbildung gleich und ist nichts, was man "mal eben" in einem Beitrag zusammenfasst. Zumal man sich vorher Gedanken machen sollte, wie man die Seite überhaupt strukturieren möchte - diese Entscheidung kann Dir hier ebenfalls niemand abnehmen.

Gruß,
Jörg

Übrigens: Freitag ist erst morgen!
honeybee
honeybee 07.09.2017 um 20:02:53 Uhr
Goto Top
Ich glaube, ihr habt was missverstanden. Ich setze keine Frames ein, sondern DIV-Boxen. Die Formatierung erfolgt über CSS. Mit PHP habe ich die Inhalte in den DIV-Boxen eingebunden. Die Verlinkung habe ich mit Javascript gelöst.

Obwohl ich kein Softwareentwickler bin, sondern nur reiner Admin, und daher wenig Praxiserfahrungen mit Webseiten habe, ist das für mich ein guter Fortschritt.

Für die Links sieht es folgendes aus:

<a href="javascript: void(0)" onclick="$('#article').load('php/start.php'); return false">Home</a>  
atze187
Lösung atze187 08.09.2017 um 09:10:11 Uhr
Goto Top
Mögliche Lösung:

  1. Pro Zielseite ein Div anlegen mit eindeutiger ID und der Ziel-URL als Attribut (hier: "data-url")
  2. Die Links im Menü auf die IDs der Divs linken lassen
  3. Per Skript erkennen ob sich der Hash-Wert der URL des Fensters geändert hat und entsprechend die Daten aus dem DIV holen und Content in das DIV laden
  4. Skript aus 3. einmal beim Laden der Seite ausführen um Anker (also die IDs der DIVs) auch beim Aufruf der Seite zu behandeln

<html>
	<head>
		<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>  
	</head>
	<body>
		<a href="#start">Start</a>  
		<a href="#contact">Contact</a>  
		<div id="start" data-url="php/start.php"></div>  
		<div id="contact" data-url="php/contact.php">  
		<script>
			var oldHash = "";  
			function loadPage() {
				oldHash = this.location.hash;
				url = $(oldHash).attr("data-url");  
				alert("would load " + url + " into element " + oldHash );  
				// load here
			
			}
			$(window).bind("hashchange", function() {  
				if (this.location.hash != oldHash) {
					loadPage();
				}
			});
			if (window.location.hash != "") {  
				loadPage();
			}
		</script>
	</body>
</html>