Neue Seite aufrufen, ohne die seite zu aktualisieren

Hier könnt ihr nützliches reinstellen, wenn ihr was gefunden habt.

Moderator: HTML-Laie

Antworten
Benutzeravatar
maulepan
Webmaster
Webmaster
Beiträge: 129
Registriert: Fr 21. Mai 2010, 10:59
Mein Vorname: Paul
Kontaktdaten:

Neue Seite aufrufen, ohne die seite zu aktualisieren

Beitrag von maulepan »

Ich hatte letztens folgendes Problem.
Ich habe eine Website für eine Musik-Website gestaltet, wo man direkt Musik hören konnte.
Das Problem:
Mann konnte nicht Msuikhören, und gleichzeitig die website durchstöbern, da ja der Player bei jedem Seitenaufruf neu geladen werden musste.
Frames zu werwenden, war für uns keine Alternative, da die Website den modernen Ansprüchen den Web2.0 entsprechen sollte.

Lösung:
Wir haben den Player in die eine art Taskleiste gelegt, und die Website nicht durch Links, sondern Anker navigiert.
Bei jedem klick auf einen Anker, wurde die aufgerufene seite per JavaScipt nach ihrem Content durchsucht, und nur dieser wurde daraufhin ersetzt.


Hinweis: Der Code ist auf dem JavaScipt Framework jQuery aufgebaut.

Vor und Nachteile:
+ Kein lästiger Seitenaufbau
+ schöne Animationen möglich
+ Seiten lassen sich einzeln verlinken
+ Kann in jede bestehende Website integriert werden
+ Die Website funktioniert auch bei Deaktivertem JavaScipt

- Mir sind bislang noch keine aufgefallen.

Code: Alles auswählen

// Navigation
// Neue Seite laden 
function load_page(page){
    $('#content').addClass('loading');
    $.ajax({
        url: page,
        dataType: "html",
        error: function(XMLHttpRequest, textStatus, errorThrown) {
            alert('Die angeforderte Seite konnte nicht gefunden werden.' + page);
            $('#content').removeClass('loading');
        },
        success: function(data, textStatus, XMLHttpRequest) {
        
  
            $('#content').html($('#content', data).html());
            $('#content').addClass('loading');
            check_links();       
        }
    });
}
// Interne Links durch Anker ersetzten und click event hinzufuegen
function check_links(){
    $('a:not([href^=http])').each(function() {
    // Pruefen, ob es bereits ein Anker ist
    if($(this).attr('href').search('#!/') == -1){
        var ziel = $(this).attr('href');
        $(this).attr('href', '#!/' + ziel);
        }
    });
}
$('a:not([href^=http])').live('click', function() {
        var page = $(this).attr('href').split('#!/');
        load_page(page[1]);
    });
$(document).ready(function(){
    check_links();
});
// Seite des ersten Aufrufes erkennen und Laden
$(document).ready(function(){
    var page = document.location.href.split('#!/');
    if(page[1] && page[1] != ''){
        load_page(page[1]);      
    }
});
Wäre über einige Feedbacks erfreut
Benutzeravatar
moni
Held des Forums
Held des Forums
Beiträge: 8337
Registriert: Mo 16. Nov 2009, 20:56
Mein Vorname: Monika
Wohnort: Borken
Kontaktdaten:

Re: Neue Seite aufrufen, ohne die seite zu aktualisieren

Beitrag von moni »

Kannst vielleicht uns auch die Musik HP oder sonstige Seite wo diesen Skript angewendet ist, zeigen?
Wo man sich das anschauen könnte .
Viele Grüße ...Monika
Benutzeravatar
maulepan
Webmaster
Webmaster
Beiträge: 129
Registriert: Fr 21. Mai 2010, 10:59
Mein Vorname: Paul
Kontaktdaten:

Re: Neue Seite aufrufen, ohne die seite zu aktualisieren

Beitrag von maulepan »

Wo die Musikseite gehostet ist und unter welchem Namen kann ich dir leider nicht sagen, da ich nur diesen Script Dafür schreiben sollte.
Hier mal ne kleine Demo:
http://www.bloggy.web-technik.org/
Benutzeravatar
moni
Held des Forums
Held des Forums
Beiträge: 8337
Registriert: Mo 16. Nov 2009, 20:56
Mein Vorname: Monika
Wohnort: Borken
Kontaktdaten:

Re: Neue Seite aufrufen, ohne die seite zu aktualisieren

Beitrag von moni »

Vom JS habe ich so gute wie keinen Plan, aber wenn du sagst das dein Skript die Seiten Abläufe gut koordiniert ,und wie du schreibst in deinen Blog das , es wichtig sei die Seiten mit wenig Codeirrung zu gestalteten.. ist doch Sehr gut...
habe ein paar Kugel auf meine Seite aufgehängt und wenn unseren Internet schlapp mal ist da bekomme die Seite gar nicht gut zu öffnen..Die Bilder sind einfach viel zu groß ..aber das zu viel an den Skripten sein kann? habe schon mal drüber gelesen aber das es das so viel ausmacht da hätte nicht gedacht ....

Gut gemacht dein JS [smilie=clap.gif]
Viele Grüße ...Monika
Benutzeravatar
maulepan
Webmaster
Webmaster
Beiträge: 129
Registriert: Fr 21. Mai 2010, 10:59
Mein Vorname: Paul
Kontaktdaten:

Re: Neue Seite aufrufen, ohne die seite zu aktualisieren

Beitrag von maulepan »

Was?? ich werde aus deinem Beitrag echt nicht schlau^^
Und was schreibe ich in welchem Blog?? Ich hab doch (noch) gar keinen Blog^^
Benutzeravatar
David
Webmaster
Webmaster
Beiträge: 249
Registriert: Di 30. Mär 2010, 22:08
Mein Vorname: David
Wohnort: Argentinien

Re: Neue Seite aufrufen, ohne die seite zu aktualisieren

Beitrag von David »

Scheint eine sehr Interessante Sache zu sein, ich werde das mal Testen.
Ich nehme an man muss nur das Javascript einbinden und die Links ganz normal setzen?

Obwohl ich eigentlich nicht gerne Webseiten besuche mit Musik! Aber zu gebrauchen ist das auf jedenfalls für Online Radios und reine Musikseiten
°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
BildLG David
°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
Benutzeravatar
maulepan
Webmaster
Webmaster
Beiträge: 129
Registriert: Fr 21. Mai 2010, 10:59
Mein Vorname: Paul
Kontaktdaten:

Re: Neue Seite aufrufen, ohne die seite zu aktualisieren

Beitrag von maulepan »

Richtig...
Du musst nur jQuery einbinden und dannach meinen JavaScipt...
Alle Links werden automatisch in Anker geändert.
Benutzeravatar
moni
Held des Forums
Held des Forums
Beiträge: 8337
Registriert: Mo 16. Nov 2009, 20:56
Mein Vorname: Monika
Wohnort: Borken
Kontaktdaten:

Re: Neue Seite aufrufen, ohne die seite zu aktualisieren

Beitrag von moni »

maulepan hat geschrieben:Was?? ich werde aus deinem Beitrag echt nicht schlau^^
Und was schreibe ich in welchem Blog?? Ich hab doch (noch) gar keinen Blog^^
Ohje ich habe deine Seite gelesen ( Sorry habe sie Blog genannt weil bloggy in deinen Link ist ) http://www.bloggy.web-technik.org/
so was ganz ähnliches auch wo anders mal gelesen, zum Thema sparsamen Codierung zu große Dateien usw ...

Leider alles komplett durcheinander gebracht ..es hat nichts mit deinen Skript aber zu tun...

Fazit !!! die alte Frau hat mal wieder zu viel nachgedacht und die Fakten durcheinander gebracht ...Sorry :II

Trotzdem finde ich schön das du JS schreiben kannst...
Viele Grüße ...Monika
Benutzeravatar
maulepan
Webmaster
Webmaster
Beiträge: 129
Registriert: Fr 21. Mai 2010, 10:59
Mein Vorname: Paul
Kontaktdaten:

Re: Neue Seite aufrufen, ohne die seite zu aktualisieren

Beitrag von maulepan »

:)
Antworten

Zurück zu „Nützliches für den Websitebau“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 9 Gäste