gpt4 book ai didi

Javascript 后退按钮在 Cordova 应用程序上不起作用

转载 作者:行者123 更新时间:2023-12-03 03:04:59 24 4
gpt4 key购买 nike

我在这里使用此代码作为路由器来处理单页应用程序中的页面( Cordova )。

var router = (function () {
"use strict";
var routes = [];
function addRoute(route, handler) {
routes.push({parts: route.split('/'), handler: handler});
}
function load(route) {
window.location.hash = route;
}
function start() {
var path = window.location.hash.substr(1),
parts = path.split('/'),
partsLength = parts.length;

for (var i = 0; i < routes.length; i++) {
var route = routes[i];
if (route.parts.length === partsLength) {
var params = [];
for (var j = 0; j < partsLength; j++) {
if (route.parts[j].substr(0, 1) === ':') {
params.push(parts[j]);
} else if (route.parts[j] !== parts[j]) {
break;
}
}
if (j === partsLength) {
route.handler.apply(undefined, params);
return;
}
}
}
}
$(window).on('hashchange', start);
return {
addRoute: addRoute,
load: load,
start: start
};
}());

这个路由器的使用方式如下:

router.addRoute('', function() {
document.getElementById("bodyDiv").innerHTML = homePageHtml;
});
router.addRoute('page1', function() {
document.getElementById("bodyDiv").innerHTML = page1Html;
});

我想向我的应用程序添加后退按钮,但它不起作用。我确实尝试过

window.history.back();

history.go(-1);

navigator.app.backHistory();

但它们都没有按照预期的方式工作。当我在 google chrome 上打开应用程序时,它工作得很好,但是当我使用 Cordova 将其转换为移动应用程序时,后退按钮无法按预期工作,有时后退按钮不会将您带到上一页,而是会刷新当前页面。

最佳答案

你可以使用这个:

This is only an example for backbutton press.

document.addEventListener("backbutton", function () {       
exitAppPopup();
}, false);

function exitAppPopup() {
navigator.app.exitApp();
}

关于Javascript 后退按钮在 Cordova 应用程序上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47210159/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com