Vue ブラウザログアウトの実装例

Vue ブラウザログアウトの実装例

プロジェクトのニーズ: インターネット上でも類似の記事をたくさん見つけましたが、それらを使用するにはいくつか問題があります。結局のところ、自分のニーズに合うようにする必要があります。ここでは vue3 を使用していますが、理論的には vue2 も使用できます。私が書いた方法は普遍的です。

これらのメソッドはすべて、 beforeunloadunloadイベントに基づいて実行されます。
以下では、2 つのイベントの紹介について初心者向けチュートリアルと MDN を検索しましたが、自分で理解することもできます。

1. beforeunload イベント

1.1、初心者向けチュートリアル:

ここに画像の説明を挿入

1.2、MDN

ここに画像の説明を挿入

2. アンロードイベント

2.1、初心者向けチュートリアル

ここに画像の説明を挿入

2.2、MDN

ここに画像の説明を挿入
MDN: 一般的に、onunload に直接値を割り当てるのではなく、window.addEventListener() を使用して unload (en-US) イベントをリッスンすることをお勧めします。

使用したソースコードは以下に掲載しています。

3. ソースコード

3.1. 方法1: HTMLページに記述できる(直接使用)

      var _beforeUnload_time = 0、_gap_time = 0;
      window.onunload = 関数 (){
          _gap_time = 新しい Date().getTime() - _beforeUnload_time;
          if(_gap_time <= 10){//ブラウザを閉じる window.mgr.signoutRedirect();//このmgrはwindowで公開したログアウトメソッドです}else{//ブラウザを更新 - chrome refresh console.log(document.domain);
              return confirm("このシステムを終了してもよろしいですか?");
          }
      };
      window.onbeforeunload = 関数 (){
          _beforeUnload_time = 新しいDate().getTime();
      };

3.2. 方法2: app.vueなどのコンポーネントに記述できる(リスニングイベント)

  データ() {
    戻る {
      ギャップ時間: 0,
      アンロード前時間: 0,
    };
  },
  メソッド: {
    //ウィンドウを閉じる前に実行する beforeunloadHandler() {
      this.beforeUnload_time = 新しい Date().getTime();
    },
    アンロードハンドラ() {
      this.gap_time = 新しい Date().getTime() - this.beforeUnload_time;
      //ウィンドウが閉じられたか更新されたかをミリ秒単位で判断します。オンラインの読み取りのほとんどは5です。
      (this.gap_time <= 10)の場合{
        mgr.signoutRedirect(); // ログアウトインターフェースは個人用ログアウトメソッドに置き換える必要があります} else {
        console.log(ドキュメント.ドメイン);
        return confirm("このシステムを終了してもよろしいですか?");
      }
    },
  },
  unmounted(){//vue は destroyed() ライフサイクルに置き換えることができますが、これも使用できます // リスナーを削除します window.removeEventListener("beforeunload", () => this.beforeunloadHandler());
    window.removeEventListener("unload", () => this.unloadHandler());
  },
  マウント() {
    // ブラウザの終了をリッスンします。window.addEventListener("beforeunload", () => this.beforeunloadHandler());
    window.addEventListener("unload", () => this.unloadHandler());
  },

参考記事:
vue がブラウザを閉じると、イベントがトリガーされ、ログアウト インターフェースが実行されます。vue はブラウザを閉じてトークンをクリアします (更新を区別します)

これで、vue でのブラウザの終了とログアウトの実装に関するこの記事は終了です。より関連性の高い vue のブラウザの終了とログアウトのコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き閲覧してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • jsはブラウザを閉じるときにアカウントのログアウトを処理します

<<:  CSS スタイルにおける中国語フォントのフォントファミリーに対応する英語名の詳細な説明

>>:  MySQLデータベースのマスタースレーブレプリケーションの原理と機能の分析

推薦する

VMware 仮想マシンに Centos7.3 をインストールするチュートリアル図

VMware の準備 CentOS の準備、こちらは CentOS 7.3 CentOS-7-x86...

MySQL ストアド プロシージャ関連の権限変更の問題

MySQL データベースを使用すると、他のユーザーが定義したストアド プロシージャを他のユーザーが変...

MySQL 集計関数のネストされた使用操作

目的: MySQL 集計関数のネストされた使用集計関数は直接ネストできません。例: max(coun...

ウェブサイトのユーザビリティとコンバージョン率を向上させる 25 のツール

ウェブサイトの場合、ユーザビリティとは、ユーザーが必要な情報を効果的に見つけたり、タスクを完了したり...

Vue でルートをジャンプする方法をご存知ですか?

目次最初の方法: router-link (宣言型ルーティング) 2番目の方法: router.pu...

HTML の div と span の違い (共通点と相違点)

共通点: DIV タグと SPAN タグは、コンテンツ全体を非表示にしたり、コンテンツ全体を移動した...

優れた Web UI ライブラリ/フレームワーク 10 選

1. ITミルツールキットIT Mill Toolkit は、リッチ Web アプリケーション用のウ...

VMware 仮想マシンで Linux の IP アドレスを表示する方法

1. まず、コンピュータのデスクトップにある VMware アイコンをダブルクリックしてソフトウェア...

CSS3のwebkit-box-reflectを巧みに使用して、さまざまな動的効果を実現します。

かなり前の記事で、 -webkit-box-reflectプロパティについて説明しました。リフレクシ...

Nginx ロケーション設定のチュートリアル (ゼロから)

基礎位置の一致順序は、「最初に正規表現に一致し、次に共通表現に一致」です。実際のロケーションの一致順...

js で虫眼鏡効果を実現するためのアイデアとコード

この記事の例では、虫眼鏡効果を実現するためのjsの具体的なコードを参考までに共有しています。具体的な...

Win10でのMySQL5.7.17無料インストール版の基本設定チュートリアルについて(画像とテキスト付き)

データベース アプリケーションは、アプリケーション システムに不可欠な部分です。リレーショナル デー...

RHEL7.5 mysql 8.0.11 インストールチュートリアル

この記事はRHEL7.5でのMySQL 8.0.11のインストールチュートリアルを記録しています。具...

VirtualBox で作成された Debian 仮想マシンは Windows ホストとファイルを共有します

用語: 1. VM: 仮想マシンステップ: 1. Windows 10 に VirtualBox 6...