JQuery адрес, как вы используете это? - PullRequest
16 голосов
/ 24 декабря 2009

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

Но документация очень плохая, и я не могу найти хороших руководств, объясняющих, что происходит.

Я думаю, что хорошая документация с хорошими примерами важна для каждого плагина.

Может ли кто-нибудь объяснить или дать несколько полезных ссылок для объяснения?

$.address.change(function(event) {  
    // do something depending on the event.value property, e.g.  
    // $('#content').load(event.value + '.xml');  
});  
$('a').click(function() {  
    $.address.value($(this).attr('href'));  
});  

Я имею в виду, что делает $.address.value? Он говорит: «Предоставляет текущее значение глубокого связывания». Что это вообще значит? И при чем тут это?

Ответы [ 4 ]

14 голосов
/ 17 августа 2010

Быстрый разговор: Самый большой недостаток использования AJAX заключается в том, что URL-адрес не меняется, поэтому кнопка «Назад» не работает + ссылки не сканируются. Обходной путь для этого состоит в том, чтобы использовать привязку раздела страницы в URL, знак #. На основании данных после хэш-знака вы можете использовать AJAX, загружать части страниц для сканирования и т. Д.

Единственная проблема в том, что у большинства браузеров нет события изменения URL, на основании которого можно загружать содержимое AJAX, поэтому на практике плагин делает то, что время от времени он отслеживает URL, и если он изменено, вызывает событие, основанное на параметрах after-hash-sign. Итак, в основном то, что вы делаете здесь, это

    $('a').click(function() {  
    **//change the after-hash-sign-params to the value of the clicked link**
        $.address.value($(this).attr('href'));

    });
    $.address.change(function(event) { 
 **//define an event handler based on the params...**
         if (event.value = 'sortbyname')
            sortstuffbyname()
else if (event.value ='sortbysomethingelse')
         sortstuffbysomethingelse();
        // do something depending on the event.value property, e.g.  
        // $('#content').load(event.value + '.xml');  
    });  

Я никогда не пробовал другой плагин, но принципы работы, вероятно, те же.

8 голосов
/ 24 декабря 2009

Плагин, кажется, имеет умеренную документацию, но если вы ищете что-то более глубокое, что делает то же самое, я бы попробовал jQuery BBQ: http://benalman.com/projects/jquery-bbq-plugin/

Это реализация $ .param, помещаемая в jQuery 1.4, и ее реализация deparam в настоящее время является единственной вещью, которая читает этот новый формат. Также документация отличная.

2 голосов
/ 06 июля 2012

Нашел этот онлайн-учебник, который, на мой взгляд, помог нам понять, как использовать адрес jQuery. Примеры кода, представленные там тоже. Стоит взглянуть.

http://www.thetutorialblog.com/jquery/deep-linking-with-jquery/

0 голосов
/ 19 января 2014

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

URL: http://www.goodstuph.org/#/home

Надеюсь, эта помощь каким-то образом.

...