HTML 5-Geschichte - Fenster.pushState nicht funktioniert

Ich versuche zu ajax laden die center-Inhalte und aktualisieren Sie die URL ohne das ändern der Seite. Dies alles funktioniert gut, außer, bis ich versuche, auf die Geschichte. Es scheint, Fenster.pushState ist nicht die Aufnahme meiner URL ' s richtig oder popstate-event nicht richtig funktioniert. Ich kann erfolgreich ajax laden der letzten Seite, aber wenn ich drücken Sie die zurück mehr als einmal, bleibt es auf der gleichen Seite. Jede Hilfe wäre sehr geschätzt werden!

$(document).ready(function() {
    $('area, .ajax_link').live('click', function(event) {
        change_image(this, event);
    });

    window.addEventListener('popstate', function(event) {
        change_image(window.location, event);
    });
});

function change_image(e, event) {
    if($(e).attr('target') != '_blank') {
        event.preventDefault();
        $.post(
            base_url+'/kit/ajax_load',
            { url: this_url},
            function(return_data) {
                $('#content img').attr('src', return_data.image_src);
                $('map').html(return_data.imagemap);
            },
            'json'
        );
        history.pushState(null, null, this_url);
        update_links(this_url);
      }
}
  • Gibt es einen bestimmten browser, die Sie sehen, dieses Verhalten, oder ist es das gleiche in allen Browsern, die Sie versucht haben, die Unterstützung pushState?
  • Getestet auf Chrome und Firefox, Gleiches Verhalten.
InformationsquelleAutor Steve | 2011-09-12
Schreibe einen Kommentar