का उपयोग करके विकसित पीडब्लूए में हार्डवेयर बैक बटन को कैसे संभालें Ionic 3 का उपयोग करके मैंने एक पीडब्ल्यूए (टैब आधारित) विकसित किया है। यह तब तक ठीक काम कर रहा है जब तक कि हार्डवेयर बैक बटन या ब्राउजर का बैक बटन एंड्रॉइड ब्राउज़र में दबाया न जाए। यदि यह होम स्क्रीन से चल रहा है, तो हार्डवेयर वापस दबाकर ऐप बंद हो जाएगा। यदि ऐप एंड्रॉइड में क्रोम में चल रहा है (केवल क्रोम में परीक्षण किया गया है), हार्डवेयर बैक या ब्राउज़र की पीठ पीडब्लूए के पहले पृष्ठ को फिर से लोड करेगी, पहले नहीं गए पृष्ठ पर। Ionic 3 PWA में इन घटनाओं को कैसे संभालें?IWic3
मैं सभी पृष्ठों के लिए आलसी लोड का उपयोग कर रहा हूं।
मैं अब तक क्या करने की कोशिश की:
प्रति jgw96 की टिप्पणी here के रूप में, मैंने सोचा था कि IonicPage नेविगेशन खुद को संभाल लेंगे। लेकिन यह काम नहीं कर रहा है।
प्रयुक्त प्लेटफ़ॉर्म.registerBackButtonAction, लेकिन यह पीडब्ल्यूए के लिए नहीं है।
उत्तर में नीचे Webruster के सुझाव के अनुसार, app.component.ts में कोड का प्रयास किया। लेकिन कोई बदलाव नहीं।
पोस्टिंग कोड:
import { Component, ViewChild } from '@angular/core';
import { Nav, Platform, AlertController, Alert, Events, App, IonicApp, MenuController } from 'ionic-angular';
@Component({
templateUrl: 'app.html'
})
export class MyApp {
@ViewChild(Nav) nav: Nav;
rootPage:any = 'TabsPage';
constructor(public platform: Platform,
public alertCtrl: AlertController, public events: Events,
public menu: MenuController,
private _app: App,
private _ionicApp: IonicApp) {
platform.ready().then(() => {
this.configureBkBtnprocess();
});
}
configureBkBtnprocess() {
if (window.location.protocol !== "file:") {
window.onpopstate = (evt) => {
if (this.menu.isOpen()) {
this.menu.close();
return;
}
let activePortal = this._ionicApp._loadingPortal.getActive() ||
this._ionicApp._modalPortal.getActive() ||
this._ionicApp._toastPortal.getActive() ||
this._ionicApp._overlayPortal.getActive();
if (activePortal) {
activePortal.dismiss();
return;
}
if (this._app.getRootNav().canGoBack())
this._app.getRootNav().pop();
};
this._app.viewDidEnter.subscribe((app) => {
history.pushState (null, null, "");
});
}
}
}
तो क्या आप उम्मीद कर रहे हैं, मेरा मतलब क्या हार्डवेयर backbutton पर ब्राउज़र या एप्लिकेशन में हो रहा हो जाना चाहिए? – Webruster
यदि मैं ए-> बी-> सी जैसे पृष्ठ पर नेविगेट कर रहा हूं, तो सी पर वापस दबाएं बी पर पॉप होगा लेकिन मेरे मामले में ए एक नए उदाहरण की तरह पुनः लोड हो रहा है। –
आपने जो प्रश्न किया है उसके साथ अपना प्रश्न अपडेट करें – Webruster