MUI フレームワークを使用する場合、ヘッダーに .mui-action-back を持つクラスを使用することがよくあります。
<header class=mui-bar mui-bar-nav> <a class=mui-action-back mui-icon mui-icon-left-nav mui-pull-left></a> <h1 class=mui-title>貨物のお問い合わせ</h1> </header>
ヘッダーの戻るロゴをクリックすると、前のページに戻ります。
//以下は mui.js のソース コードです。クリックして戻ると、内部で次の操作が実行されることがわかります。 //$.hook={} は閲覧履歴を記録するために特別に使用されます。 $.back = function() { if (typeof $.options.beforeback === 'function') { if ($.options.beforeback() === false) { return; } $.doAction('backs' ); };$.doAction = function(type, callback) {//前のレコードに戻る if ($.isFunction(callback)) { //指定されたコールバック $.each($.hooks[type], callback); } else { //コールバックは指定されていないため、直接実行 $.each($.hooks[type], function(index, hook) { return !hook.handle(); } };$.addAction = function(type, hook) {// 履歴を追加します var hooks = $.hooks[type]; if (!hooks) { hooks = [] } hook.index = hook.index ||フック.push(フック); フック.ソート(関数(a, b) { return a.index - b.index; }); $.hooks[タイプ] = フック[タイプ];
H5 を APP にカプセル化するときに使用する 5+ インターフェイスには、ウィンドウである Web ビューの概念があります。
当初、これら 2 つの概念を意図的に区別していなかったので、新しいウィンドウを開いて Web ページを開くこともあれば、直接 Web ページを開くこともありました。
location.href などの URL にジャンプします。
これにより、携帯電話の戻るボタンを監視すると、次のような状況が発生します。
1. ソフトウェアを開き、ホームページ (main.html=>HBuilder[webview]) に入ります (前者は URL のローカル アクセス パスを表し、後者はウィンドウ Web ビューの ID を表します)。
2. Web ビューを作成してログイン インターフェイスを開くのではなく、location.href を通じてログイン インターフェイスにジャンプします。
3. ログイン後、機能ページに入り、もう一度 Return キーを押してログイン ページに戻ります。ログイン後、携帯電話の戻るボタンをクリックすると、直接ログアウトされることが期待されます。このため、MUI のロールバック機能について特別に学習しました。このメソッドをオーバーライドすることでこれを実現できます。
監視する必要があるページ:
mui.back=function(){//リターンキーを監視した後に実行する必要がある操作を記述します
ただし、Web ページのジャンプとフォーム作成の以前の 2 つのモードを引き続き使用すると、予期しない結果が発生します。つまり、mui.back はエントリ ファイル内でのみ監視でき、他のページまたはフォームで実行された監視は不可能になります。 . がトリガーされると、すべてがエントリ ファイル mui.ba によって監視されます。 ck キャプチャでは、エントリ ファイルの監視ビジネス ロジックのみが実行されます。これにより、リターン イベントをカスタマイズせずに前のページに戻るという厄介な状況が発生します。たとえば、ログイン ページに戻り、イベントをカスタマイズします。すべてのイベントがエントリ ファイルによって監視されていることがわかりました。これは、他のページに mui.back=function(){} を書いても意味がないことを意味します。
すべてのジャンプページをフォームとして開いた場合、上記の問題は発生しません。各ウィンドウは通常、mui.back カスタム関数をリッスンできます。
以上がこの記事の全内容です。皆様の学習のお役に立てれば幸いです。また、VeVb Wulin Network をご支援いただければ幸いです。