ホームページ > 記事 > ウェブフロントエンド > H5 での APP リスニング戻りイベント処理
今回はH5のAPP監視リターンイベント処理についてお届けします。H5のAPP監視リターンイベント処理の注意点は何ですか?実際のケースを見てみましょう。
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>
H5をAPPにカプセル化するときは、ヘッダーの戻るアイコンをクリックして前のページに戻ります
//以下是mui.js中的源码,可以看到,在点击返回的时候,内部做了以下的操作 //$.hook={}是专门用于记录浏览的历史的。 $.back = function() { if (typeof $.options.beforeback === 'function') { if ($.options.beforeback() === false) { return; } } $.doAction('backs'); }; $.doAction = function(type, callback) {//返回上一个记录 if ($.isFunction(callback)) { //指定了callback $.each($.hooks[type], callback); } else { //未指定callback,直接执行 $.each($.hooks[type], function(index, hook) { return !hook.handle(); }); } }; $.addAction = function(type, hook) {//添加历史记录 var hooks = $.hooks[type]; if (!hooks) { hooks = []; } hook.index = hook.index || 1000; hooks.push(hook); hooks.sort(function(a, b) { return a.index - b.index; }); $.hooks[type] = hooks; return $.hooks[type]; };
、私たちが使用する 5+ インターフェイスには、ウィンドウである Web ビューの概念があります。
当初、これら 2 つの概念を意図的に区別していなかったので、新しいウィンドウを開いて 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.back によってトリガーされません。エントリ ファイルの監視ビジネス ロジックのみを実行します。これにより、リターン イベントをカスタマイズせずに前のページに戻るという厄介な状況が発生します。たとえば、ログイン ページに戻り、リターン イベントをカスタマイズすると、すべてのエントリが検出されます。イベントはすべてエントリ ファイルによって監視されます。これは、他のページに mui.back=function(){} を書いても意味がないことを意味します。 すべてのジャンプページをフォームとして開いた場合、上記の問題は発生しません。各ウィンドウは通常、mui.back カスタム関数を監視できます
この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、PHP 中国語 Web サイトの他の関連記事に注目してください。
推奨読書:
max-width と min-width の使用に関するヒント Mac システムで MySQL の root パスワードをリセットする以上がH5 での APP リスニング戻りイベント処理の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。