JQuery Mobile - pagecontainer beforeshow:从历史记录中删除上一页
Posted
技术标签:
【中文标题】JQuery Mobile - pagecontainer beforeshow:从历史记录中删除上一页【英文标题】:JQueryMobile - pagecontainerbeforeshow: remove previous page from history 【发布时间】:2019-09-21 02:06:33 【问题描述】:使用 jquery 和回调 pagecontainerbeforeshow 我想从 navigationhistory 中删除上一页 - 也就是说,如果用户从 page1 导航到 page2,并且用户单击后退按钮我想退出“应用程序”。
我在这里发现了同样的问题,但我不知道如何在 pagecontainerbeforeshow 中实现答案?
Jquery mobile, remove previous page
bindEvents: function()
$(document).on("pagecontainerbeforeshow", function(event,ui)
var destinationPage = ui.toPage.prop("id");
var sourcePage = ui.prevPage.prop("id");
d.lg("destionationPage: " + destinationPage);
d.lg("sourcePage: " + sourcePage);
console.log("page to be shown =" + destinationPage);
switch(destinationPage)
case 'restaurants':
d.lg('redirected to list');
break;
case 'offers':
d.lg('redirected to offers');
break;
);
【问题讨论】:
提示:你需要pagecontainerbeforechange
事件。
【参考方案1】:
Bohr 最终使用了an alternative to change the back button behaviour。
如果存在带有id=the_id_id_of_the_page
的div
-
在
pagecontainerbeforeshow
事件中,backbutton
将与backButtonExit()
函数相关联
backButtonExit()
函数会触发应用退出
navigator.app.exitApp()
在pagehide
上,backButtonExit
函数将从button
中删除,并且该行为将停止
$("#the_div_id_of_the_page").on('pagecontainerbeforeshow',function()
document.addEventListener("backbutton", backButtonExit,false);
)
$("#the_id_id_of_the_page").on('pagecontainerhide',function()
document.removeEventListener("backbutton", backButtonExit,false);
)
function backButtonExit()
// Phonegap
navigator.app.exitApp();
// Normal Browser
window.close()
这是一个比您的解决方案更简单的解决方案,但如果您需要,它也可以集成到您的switch
语句中。另外,如果您没有使用 phonegap consider reading this post
【讨论】:
您好 :) 1- 这不是 phonegap 2- 您回答中的事件已过时。 @Omar 我将events
更新为pagebeforeshow
和pagehide
不再是jquery-mobile
1.6 中的用户。它可能在 WebView 之外 not be possible to close the mobile browser without the user consent。谢谢:-)以上是关于JQuery Mobile - pagecontainer beforeshow:从历史记录中删除上一页的主要内容,如果未能解决你的问题,请参考以下文章
jQuery Mobile-jquery Mobile 怎么用ajax提交表单
jquery mobile,结合jquery mobile“页面”和内部页面
JQuery Mobile 1.3.1“$.mobile.loading”不工作
如何使用 jquery 或 jquery mobile mobile 根据日期列出数据