Адрес jQuery - глубокие ссылки и состояния - PullRequest
0 голосов
/ 22 июня 2011

Я довольно новичок в AJAX и в настоящее время изучаю, как внедрить jQuery Address на демонстрационном сайте, чтобы я мог перенести его на личный проект, над которым я работаю.

Пока я нахожусьЯ могу загрузить желаемый контент с помощью гиперссылок, а также изменить хэш URL-адреса. Я не могу перейти к определенному состоянию, если ввожу хэш URL-адреса непосредственно в панель браузера.

Текущий код выглядит примерно так:

$("h2.entry-title a").live('click', function(event) {
    event.preventDefault();
    $("#content").fadeOut("slow").load($(this).attr("href")+" #content > *", function() {
        $.address.value("?page=entry");
    }).fadeIn("slow");
});

Я пытался найти учебные пособия и демонстрационные материалы об использовании jQuery Address для реализации глубоких ссылок, но пока что это не принесло ничего полезного.

Спасибо за вашу помощь :)

p / s: причина, по которой я использовал .live() вместо .bind(), заключается в том, что в какой-то момент больше заголовков записей будут вставлены динамически.

1 Ответ

0 голосов
/ 22 июня 2011

В этом коде нет ничего, что читало бы URL при первой загрузке страницы. Если вы введете в адресной строке 'http://test.com/test.html?page=entry', то вам нужно будет загружать содержимое при загрузке страницы, когда хэш изменяется вручную и при событиях щелчка.

http://abishaigray.com/jquery.address.php

$(function() {
    var content = $("#content");
    var loadUrl = function(url) {
        content.fadeOut("slow", function() {
            content.load(url + " #content > *", function() {
                    content.fadeIn("slow");
                });
        });
    };
    $("a.loadUrl").live('click', function(event) {
        event.preventDefault();
        $.address.parameter("page", $(this).attr("href"));
    });
    $.address.change(function(vars) {
        var page = $.address.parameter("page");
        if (page) { loadUrl(page); }
    });
});

Я воспользовался событием $.address.change. Таким образом, каждый раз, когда вы обновляете URL или когда пользователь впервые прибывает, контент будет перезагружен.

...