Hatte neulich mal nen Msuikplayer auf einer Homepage einbauen wollen.
Jedoch wurde dieser immer wenn man eine neue Seite aufgerufen hatte neu geladen, und das Lied fing von vorne an.
Da kam ich auf die Idee, das es Sinnvoll wäre, wenn nicht immer die ganze Seite, sondern nur die Content Box neu geladen würde.
Also hab ich mich kurz rangesetzt, und das hier kam dabei heraus.
$(document).ready(function(){
$('a:not([href^=http])').live("click", function() {
var url = $(this).attr('href');
$.ajax({
url: url,
dataType: "xml",
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert('Fehler' + XMLHttpRequest.responseText);
},
success: function(data, textStatus, XMLHttpRequest) {
$('#content').html($('#content', data).html());
}
});
return false;
});
});
Alles anzeigen
Vorteile:
+ Die optisch unschöne Zeit des Seitenaufbaus wird verhindert.
+ Kann (Beispielweise durch classen wie Load) schön gestaltet werden
+ Player, Chats etc. werden nicht neu geladen
+ Bei Rechtsklick -> in Neuem Tab öffnen wird trotzdem eine vollständige Seite geladen, und es kann trotzdem jede Seite einzeln verlinkt werden
+ funktioniert auch mit Get-Parametern
Negativ:
- Die Adresszeile ändert sich nicht (noch nicht. Ich weiss, das das geht, aber nur noch nicht wie^^)
- MIME type muss application/xhtml + xml sein.
Freue mich auf euer Feedback.
Hier ne kleine Demo:
<!-- m --><a class="postlink" href="http://lifestyle93.lima-city.de/index.php">http://lifestyle93.lima-city.de/index.php</a><!-- m -->