Ist dies eine richtige Art und Weise zu verwenden History.js?

War ich in der Lage, zusammen eine vereinfachte abzuschließen History.js Beispiel mit drei links zu Last-Fragmente von Inhalten von einer vollständigen Seite ohne Aktualisierung der Seite und während der Aktualisierung der browser-history.

Hier sind die relevanten code-snippets - ein funktionsfähiges Beispiel ist hier http://jsfiddle.net/PT7qx/show

<a href="/page-header">Page Header</a>
<a href="/login-form">Login Form</a>
<a href="/nothing">Nothing</a>

<script>
var History = window.History;
if (!History.enabled) {
    return false;
}

History.Adapter.bind(window, 'statechange', function() {
    var State = History.getState();
    History.log(State.data, State.title, State.url);

    if (State.title == 'Page Header') {
        $('#content').load('/user/login/.pageHeader > *');
    }

    if (State.title == 'Login Form') {
        $('#content').load('/user/login/#common-form > *');
    }

    if (State.title == 'Nothing') {
        $('#content').empty()
    }
});

$('body').on('click', 'a', function(e) {

    var urlPath = $(this).attr('href');
    var Title = $(this).text();
    History.pushState(null, Title, urlPath);

    //prevents default click action of <a ...>
    return false;
});
<\script>

Ich würde gerne wissen, ob dies ist die korrekte Verwendung. Die vorhergehende version hatte eine Fähigkeit zum binden an ein Ereignis mit der # - urls. Ich habe nicht gesehen, alle Beispiele für die Bindung von Ereignissen, die auf urls mit dieser neuesten version, also habe ich die .auf() klicken-Ereignis aufrufen, Geschichte und sortiert aus, was link geklickt wurde.

Ich bin nicht sicher, ob dies der beste Weg, dies zu erreichen für dieses Beispiel.

InformationsquelleAutor dansalmo | 2012-11-07

Schreibe einen Kommentar