Jquery mobile jQuery移动多页应用程序。如何在不离开应用程序的情况下检查history.back()是否可行?

Jquery mobile jQuery移动多页应用程序。如何在不离开应用程序的情况下检查history.back()是否可行?,jquery-mobile,Jquery Mobile,在我的jQuery移动多页应用程序中,是否可以检查history.back()是否是应用程序中的一个页面 我在应用程序的子页面上有一个链接,我希望执行history.back(),如果它指的是应用程序中的子页面,或者只是简单地链接到应用程序主页 我想做一些像 if(canGoBack){$.mobile.back();}else{$.mobile.changePage('#main');}在应用程序的初始加载时,在文档的历史状态对象中存储一个标志。就绪: $(function() { h

在我的jQuery移动多页应用程序中,是否可以检查history.back()是否是应用程序中的一个页面

我在应用程序的子页面上有一个链接,我希望执行history.back(),如果它指的是应用程序中的子页面,或者只是简单地链接到应用程序主页

我想做一些像


if(canGoBack){$.mobile.back();}else{$.mobile.changePage('#main');}

在应用程序的初始加载时,在文档的历史状态对象中存储一个标志。就绪:

$(function() {
    history.replaceState($.extend(history.state, {root:true}));
});
从那时起,每当我们想检查是否可以返回时,只要看看我们设置的标志是否在当前历史状态对象中就可以了。如果是,则我们处于初始页面,无法返回:

function canGoBack() {
    return !(history.state && history.state.root);
}
HTML:



如果目标页面不在你的应用程序中,你无法控制在历史记录中导航,否则,你可以控制它。我想做一些类似于
if(canGoBack){$.mobile.back();}else{$.mobile.changePage('.#main');}
@Omar的事情,这并没有真正回答我的问题。这只是一个提示,不是答案:)
<a href="javascript:if(canGoBack) {$.mobile.back();} else $.mobile.changePage('#main');}">Back</a>