Hallo,
ich habe folgendes Problem, wobei ich denke/hoffe das @Maddin: mir da ganz gut helfen kann.
Ich denke das ist kein großes Problem - hab nur das Gefühl der will nicht mit der .js-Datei arbeiten. Mein head-Bereich:
Alles anzeigen
So. Er arbeitet soweit ganz gut, aber er geht nicht zu alert("Test2"); - ich vermute weil er wie gesagt diese "hashchange"-Datei nicht erkennen will.
Oder gibt's 'n anderes Problem? Die URL sieht z.B. so aus:
Kommt weder die "stats.php" in den Container noch die 404.php. :-x
ich habe folgendes Problem, wobei ich denke/hoffe das @Maddin: mir da ganz gut helfen kann.

Ich denke das ist kein großes Problem - hab nur das Gefühl der will nicht mit der .js-Datei arbeiten. Mein head-Bereich:
HTML-Quellcode
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
- <title><? echo $Seitentitel; ?></title>
- <link href='http://fonts.googleapis.com/css?family=Ubuntu:400,700italic' rel='stylesheet' type='text/css'>
- <link href='http://fonts.googleapis.com/css?family=Francois+One&subset=latin,latin-ext' rel='stylesheet' type='text/css'>
- <link rel="stylesheet" href="style.php" type="text/css">
- <script src="http:jquery.ba-hashchange.min.js"></script>
- <script src="jquery.js"></script>
- <script type="text/javascript">
- $(document).ready(function() {
- $('#Loginfenster').hide('fast');
- $('#statsContainer').hide('fast');
- $('#correct').hide('fast');
- $('#loginMenue').click(function() {
- $('#Loginfenster').hide('slow');
- $('#correct').show('slow');
- $('#Loginfenster').show('slow');
- })
- $('#newsMenue').click(function() {
- $('#statsContainer').hide('slow');
- $('#newsContainer').show('slow');
- })
- $('#statsMenue').click(function() {
- $('#newsContainer').hide('slow');
- $('#statsContainer').show('slow');
- })
- });
- function get() {
- $.post('login.php', { Name: loginForm.Name.value, Passwort: loginForm.Passwort.value },
- function(output) {
- $('#loginForm').hide('slow');
- $('#correct').show('slow');
- $('#correct').html(output).show();
- $('#correct').hide('slow');
- location.reload();
- });
- }
- function loadContent() {
- alert("Test1");
- $(window).hashchange( function(){ //das hashchange event, welches aufgerufen wird wenn sich der hash ändert.
- alert("Test2");
- var hash = (location.hash).replace('#', ''); //normal wäre der hash z.b "#startseite", aber wir wollen die raute nicht, weshalb wir sie durch replace entfernen, bzw. durch ncihts ersetzen.
- if(hash == '') { //Wenn der hash leer ist
- hash = '#news'; //übergeben wir "#startseite" an die variable
- location.hash = '#news'; //und ändern die URL
- }
- hash = hash.toLowerCase(); //den hash in kleinbustaben umwandeln
- $('#smallContainer').hide(); //main verstecken
- /*
- natürlich kann man anstatt hide() (dem einfachen ausblenden) auch
- $('#main').slideUp() / $('#main').slideDown() benutzen wenn die Seite hoch/runter scrollen soll, oder
- $('#main').fadeOut() um sie langsam verblassen zu lassen.
- */
- $('#smallContainer').load(hash + '.html', function(response, status, xhr) { //versuche pages/XYZ.html zu laden
- if (status == "error") { //Seite wurde nicht gefunden
- $('#smallContainer').load(hash + '.php', function(response, status, xhr) { //versuche pages/XYZ.php zu laden
- if (status == "error") { //Seite wurde nicht gefunden
- $('#smallContainer').load('404.php'); //404 Seite laden
- }
- });
- }
- });
- $('#smallContainer').show(); //main anzeigen
- });
- $(window).hashchange(); //Wir rufen das hashchange event beim ersetn seiten besuch auf
- }
- </script>
- </head>
So. Er arbeitet soweit ganz gut, aber er geht nicht zu alert("Test2"); - ich vermute weil er wie gesagt diese "hashchange"-Datei nicht erkennen will.
Oder gibt's 'n anderes Problem? Die URL sieht z.B. so aus:
Kommt weder die "stats.php" in den Container noch die 404.php. :-x