jQuery Mobile中有一个返回当前路径的方法吗?

时间:2011-02-15 11:48:17

标签: jquery-mobile

我正在寻找jQuery Mobile中的一个方法来获取当前页面的路径,无论它是直接导航到还是通过Ajax加载。

两者都是:

http://example.com/#/page1

http://example.com/page1

应该返回相同的路径:

/第1页

我知道这可能是从location.href中提取的,但它需要一些额外的代码,所以我想知道是否有更简单更强大的方法。

6 个答案:

答案 0 :(得分:3)

如果您要查找当前路径或页面ID,可以使用:

$.mobile.activePage[0].id

答案 1 :(得分:1)

所以我终于发现你可以这样做:

$('.ui-page-active').data('url')

答案 2 :(得分:0)

location.hreflocation.hash

还有一个生成的<base>元素,其中包含您应该感兴趣的href

这里提到:http://jquerymobile.com/test/#docs/pages/docs-navmodel.html

警告:它说文档需要更新。

另外 - 请阅读JQM基于progressive enhancement的想法,因为您可能不想处理来自javascript的链接。

答案 3 :(得分:0)

试试这个。

$.mobile.activePage[0].baseURI 

答案 4 :(得分:0)

如果您需要在pageinit事件之前知道页面网址,

$ .mobile.activePage 不起作用。如果您想随时获取当前页面网址,可以使用这样的方法:

getCurrentPageUri: function() {
    var currentUrl = $.mobile.path.parseUrl(window.location);
    var result = currentUrl.hash && currentUrl.hash.split("?")[0];
    return (result && result.substring(1)) || currentUrl.pathname;
}

答案 5 :(得分:0)

Reoger Ertesvag的解决方案对我来说并不起作用,因为即使在pageChange之后它仍然具有相同的值。我使用这个而不是很有效:

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

要小心,因为它不适用于pageinit,但在页面显示中。