#html-framework-7
#html-framework-7
Вопрос:
Недавно я создаю приложение с использованием framework7. Мое приложение состоит из HTML-файла, в котором содержатся все представления. Для навигации между представлениями внизу страницы присутствует кнопка возврата.
для кнопки возврата я использую код
var myView = app.view.current;
myView.router.back();
Если я нажимаю кнопку возврата на устройстве Android, приложение закрывается
Как я могу использовать кнопку возврата телефона Android, чтобы перейти на главную страницу.
Я использую pushState: true, но у меня это не работает.
ниже мой app.js файл
// Dom7
var $ = Dom7;
// Theme
var theme = 'auto';
if (document.location.search.indexOf('theme=') >= 0) {
theme = document.location.search.split('theme=')[1].split('amp;')[0];
}
// Init App
var app = new Framework7({
id: 'io.framework7.testapp',
root: '#app',
theme: theme,
on:{
pageInit : function(page){
console.log("page init function called aakash");
document.addEventListener("backbutton", app.methods.onBackKeyDown,
false);
}
},
pushState:true,
data: function () {
return {
user: {
firstName: 'John',
lastName: 'Doe',
},
};
},
methods: {
helloWorld: function () {
console.log('dfvdfv')
app.dialog.alert('Hello World!');
},
onDeviceReady: function() {
},
onBackKeyDown: function() {
console.log("back button pressed");
}
},
routes: routes,
vi: {
placementId: 'pltd4o7ibb9rc653x14',
},
});
Ответ №1:
Что ж, у меня есть решение!! У меня это сработало
var app = new Framework7({
initOnDeviceReady:true,
view:{
pushState:true,
}
});
Комментарии:
1. У меня тоже сработало! Спасибо, что поделились. Единственная проблема заключается в том, что если я нахожусь на главной странице и нажимаю кнопку возврата Android, иногда это выдает мне страницу «страница не найдена».
2. у меня не работает в Android 10, framework7 v6
Ответ №2:
Я столкнулся с этой проблемой и решил ее с помощью метода
(Если вы используете webview)
Собственный код Android Java:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
myWebView.evaluateJavascript("javascript:goBack();", null);
}
return true;
}
javascript в вашем фреймворковом приложении js
function goBack() {
myView.router.back();
}
Или
function goBack() {
$('.back').trigger('click')
}
Попробуйте это в функции jquery
Комментарии:
1. Добавить в основное действие
2. Итак, это platform/android/app/src/main/java/com/appName/app/MainActivity.java я полагаю, файл, и я должен добавить его после успешного запуска cordova build Android . Я попробую это — через пару дней мне это понадобится 🙂
3. Мне нужно, чтобы мой текущий вид возвращался при нажатии моей аппаратной кнопки возврата на телефоне Android. Это работает, если я нажимаю на кнопку возврата страницы в framework7