如何禁用SPA中的默认JQM页面?

我有一个单页JQM应用程序 – 所有JQM“页面”都在一个文档中:

@RenderPage("Views/login.cshtml") @RenderPage("Views/page1.cshtml") @RenderPage("Views/page2.cshtml")

我如何禁用默认显示JQM页面,当前恰好是login.cshtml,所以我可以手动调用转换方法从用户登录后删除历史记录中的登录页面? Eq这是我想在初始文档加载时手动调用的:

 $.mobile.changePage('#login-page', { reverse: false, changeHash: true }); 

或者,是否可以在没有changePage调用的情况下将“reverse”属性设置为false?

如果您愿意,我可以为您提供客户端解决方案。

基本上你使用我的旧例子: http : //jsfiddle.net/Gajotres/3PhKZ/,以防止在某些条件未满足时页面转换。 此时,您可以使用changePage函数在任何其他页面转发该用户。

此解决方案在任何情况下都可以使用,因为它会在每次页面转换期间触发,如果下一页在您的案例登录页面中,它将查看条件并执行您想要的任何操作。 您可以允许转换,完全阻止它或只是重定向到另一个页面:

 $(document).on('pagebeforechange', function(e, data){ var to = data.toPage, from = data.options.fromPage; if (typeof to === 'string') { var u = $.mobile.path.parseUrl(to); to = u.hash || '#' + u.pathname.substring(1); if (from) from = '#' + from.attr('id'); if (from === '#index' && to === '#second') { alert('Can not transition from #index to #second!'); e.preventDefault(); e.stopPropagation(); // remove active status on a button, if transition was triggered with a button $.mobile.activePage.find('.ui-btn-active').removeClass('ui-btn-active ui-focus ui-btn');; } } });