Я строю гибридное приложение с Intel XDK, и мне нужна помощь с кнопкой «Назад», и это функция. У меня есть только один файл index.html. Все «страницы» являются «и каждый из них имеет разные идентификаторы. Я просматриваю их, используя activate_subpage ("# uib_page_10");Кордова navigator.app.backHistory button on html другой подход
$(document).on("click", ".firs_div_button", function(evt){
//#uib_page_10 is div with it's content
activate_subpage("#uib_page_10");
var thisPage = 1;
goBackFunction (thisPage); //call function and pass it page number
});
$(document).on("click", ".second_div_button", function(evt){
//#uib_page_20 is div with it's content
activate_subpage("#uib_page_20");
var thisPage = 2;
goBackFunction (thisPage); //call function and pass it page number
});
Я поставил этот EventListener оборудования на кнопку назад.
document.addEventListener("backbutton", onBackKeyDown, false);
function onBackKeyDown() {
alert("hello");
navigator.app.backHistory();
}
Это функционально, но оно не работает должным образом, в моем случае и для моего приложения. Когда я перемещаюсь с одной страницы на другую (5 страниц/разделов) и нажимаю кнопку, иногда она не возвращается на первую страницу. Он просто «возвращается» к истории слишком глубоко и закрывает приложение, не меняя фактическую страницу (представление) перед закрытием.
Теперь у меня есть идея, но мне нужна помощь в этом. Я не буду использовать историю назад, я буду использовать счетчик и динамический массив для максимум 5 элементов.
function goBackFunction (getActivePage) {
var active_page = getActivePage;
var counter = 0; // init the counter (max is 5)
var history_list = [counter][active_page]; // empty array
counter = counter + 1;
:
:
:
}
document.addEventListener("backbutton", onBackKeyDown, false);
function onBackKeyDown() {
//read the array and it's positions then activate:
activate_subpage("#PAGE_FROM_ARRAY");
counter = counter - 1;
if (counter == 0) {
//trigger the app exit when counter get's to 0.
navigator.app.exitApp();
}
}
Это только идея, не проверенная. Я хотел бы сохранить список открытых страниц в Array и при нажатии кнопки «Назад» активировать страницы, взятые из списка Array, назад. .
Я не знаю, как это сделать, я не специалист :(Существует может быть Тесто способ сделать это Если кто-то есть какие-либо предложения, я приму его: D
Функциональность кнопки возврата зависит от того, как приземлился на текущей странице. Если вы использовали «window.location.replace» для перехода со страницы 1 на страницу2, тогда страница1 не будет отслеживаться в истории, и в этом случае вы не сможете вернуться назад к странице 1 при нажатии кнопки «Назад». – Gandhi