Есть ли в jQuery Mobile метод, который возвращает текущий путь? - PullRequest
2 голосов
/ 15 февраля 2011

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

Так что для обоих:

http://example.com/#/page1

и

http://example.com/page1

должен быть возвращен тот же путь:

/ стр.1

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

Ответы [ 6 ]

3 голосов
/ 06 сентября 2011

Если вы ищете текущий путь или идентификатор страницы, вы можете использовать:

$.mobile.activePage[0].id
1 голос
/ 20 сентября 2011

Итак, я наконец-то обнаружил, что вы можете получить это, выполнив:

$('.ui-page-active').data('url')
0 голосов
/ 30 августа 2013

Решение от Reoger Ertesvag у меня не сработало, поскольку оно всегда имеет одинаковое значение даже после pageChange.Вместо этого я использую этот, и он прекрасно работает:

$.mobile.activePage.data("url");

Будьте осторожны, так как он работает не на pageinit, а на pageshow.

0 голосов
/ 28 августа 2013

$. Mobile.activePage не работает, если вам нужно знать URL страницы до события pageinit.Если вы хотите получить URL текущей страницы в любое время, вы можете использовать такой метод:

getCurrentPageUri: function() {
    var currentUrl = $.mobile.path.parseUrl(window.location);
    var result = currentUrl.hash && currentUrl.hash.split("?")[0];
    return (result && result.substring(1)) || currentUrl.pathname;
}
0 голосов
/ 13 февраля 2013

Попробуйте это.

$.mobile.activePage[0].baseURI 
0 голосов
/ 15 февраля 2011

Это location.href И location.hash

Также существует сгенерированный <base> элемент, содержащий href, который вам может пригодиться.

Упоминается здесь: http://jquerymobile.com/test/#docs/pages/docs-navmodel.html

Внимание: в нем говорится, что документация должна быть обновлена.

Также - пожалуйста, прочитайте немного о progressive enhancement, на котором JQM основывает свою идею, потому что вы, возможно, не захотите иметь дело со ссылками из javascript.

...