ホームページ  >  記事  >  ウェブフロントエンド  >  H5 での APP リスニング戻りイベント処理

H5 での APP リスニング戻りイベント処理

php中世界最好的语言
php中世界最好的语言オリジナル
2018-03-20 13:26:254740ブラウズ

今回は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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。