ユーザーがグーグルクロームの自動入力オプションでフォームに入力するかどうかを検出します

狂信者

ユーザーがグーグルクロームの自動入力オプションでフォームに入力したかどうかを検出する方法について誰かが私を導くことができれば。

ユーザーがフィールドに入力してぼかしを変更するたびに、イベントをGoogleアナリティクスに送信するディレクティブがあります。

ただし、ユーザーがChromeの自動入力オプションを使用してフォームに入力したかどうかを検出し、各フィールドのデータをGoogleアナリティクスにプッシュする必要もあります。

私の指令の一部:

element.bind('blur', function (e) {
  if ((e.target.value !== 0) && typeof value !== 'undefined')  {
    if (_.has(ga_data, 'sendEvent')) {
      analyticsService.sendEvent(ga_data.sendEvent);
    }

    if (_.has(ga_data, 'action') && ga_data.action === 'blur') {
      analyticsService.sendEvent(ga_data);
    }
  }
});
カレン・グリゴリアン

input-directive srcに基づいて、angularは変更、入力、貼り付けなどの場合のリスナーを設定します。

また、ブラウザが入力要素を自動入力するたびに、このリスナーが呼び出され、ここngModelディレクティブsrcの時点で$ parsersの配列を介してviewValueがコミットされます。

したがって、最終的には、追加のscope。$ watchを回避し、$ parserに依存して、各入力要素のフェーズをディレクティブにリンクするだけでgatrackイベントを送信できます。また、最初に使用した直後(つまり、ブラウザーの自動入力)にパーサー関数を破棄することを忘れないでください。これにより、viewValueの変更時にスパムが発生することはありません。

次に例を示します。

angular
  .module('app', [])
  .directive('detectPrefill', function() {
    return {
      require: 'ngModel',
      link: { 
        pre: function(scope, element, attrs, ctrl) {
          function detectPrefill (viewValue) {
            //send GA data
            //...

            // just checking that detectPrefill func is destroyed after first usage                
            viewValue && console.log(viewValue);
            ctrl.$parsers.splice(
              ctrl.$parsers.indexOf(detectPrefill), 
              1
            );
            return viewValue;
          }

          ctrl.$parsers.push(detectPrefill);
        }
      }
    };
  });

お役に立てれば。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

drupal8ユーザーログインフォームの入力と検証を変更するにはどうすればよいですか?

分類Dev

外部プログラム/スクリプトを実行し、ユーザー入力を要求するかどうかを検出します

分類Dev

ユーザーがjspの1つのフィールドに入力した場合、他のフォームフィールドに自動的に入力するにはどうすればよいですか(spring mvcとhibernateを使用している間)

分類Dev

C# プログラム ループが最後のセッションからの入力を自動的に保存しないようにする方法は?

分類Dev

ユーザーの入力によってhtmlフォームに自動的に入力されるレスポンシブhtmlテーブルフィールドを作成するにはどうすればよいですか?

分類Dev

Cプログラムは、Linux環境で他のアクションを同時に実行しながら、ユーザー入力をポーリングするにはどうすればよいですか?

分類Dev

MVPアプローチを使用して、コントロールが動的であるユーザーフォーム入力を検証します

分類Dev

ユーザーがJTextFieldに何かを入力するまで、プログラムを「一時停止」します

分類Dev

テレグラムボット-ユーザーが入力を開始したことをどのように検出できますか?

分類Dev

ファクタープログラムで数値を除外する方法は?AND特定の番号が入力されるまでユーザーにプロンプトを表示するにはどうすればよいですか?

分類Dev

scanner.nextLine()は、ユーザーが1-2を入力するとエラーになります。プログラムがこの入力を1として受け入れるようにするにはどうすればよいですか?

分類Dev

bash メニューで、ユーザーがカスタム コマンドを入力できるようにオプションを選択しますか?

分類Dev

Laravel 4でajaxを介してロードされるフォームのセクションにフィールド値を自動入力するにはどうすればよいですか?

分類Dev

ユーザーがオプションのリストから選択できるメニュープログラムをC ++で記述し、入力がオプションの1つでない場合は、リストを再印刷します。

分類Dev

ユーザーがオプションのリストから選択できるメニュープログラムをC ++で記述し、入力がオプションの1つでない場合は、リストを再印刷します。

分類Dev

SDKを使用してフォームに自動入力するFirefoxプラグインを作成するにはどうすればよいですか?

分類Dev

ターミナルセッションでユーザー入力とプログラム出力を別々にログに記録できますか?

分類Dev

誰かが私にグーグルフォームのサンプルスクリプトを提供して、質問の説明に以前の回答を自動入力することはできますか?

分類Dev

オプション1とオプション2のコンパイル済みプログラムにランダムデータを同時に入力するには、どのようなパイプが機能しますか?

分類Dev

このプログラムでユーザー入力をリンクリストに追加するにはどうすればよいですか?

分類Dev

ループを使用してフォームのテキストボックスを自動入力するにはどうすればよいですか?

分類Dev

ユーザーが「終了」と入力したときにこのプログラムを終了するにはどうすればよいですか?

分類Dev

Javaユーザーがコマンドプロンプトに入力を入力するまでプログラムの実行を停止します

分類Dev

プログラムがユーザーにプロンプトを表示する前にユーザー入力を受け取るのはなぜですか?

分類Dev

SPが開始したログインからユーザー名を送信してIdPログインフォームに事前入力しますか?

分類Dev

ユーザーが無効な入力を入力した場合、どうすればプログラムを終了できますか?

分類Dev

ユーザーが複数のCSVファイルをユーザー入力からプログラムに保存できるようにするにはどうすればよいですか?-Python

分類Dev

Java計算プログラムにユーザー入力の検証を取得するにはどうすればよいですか?

分類Dev

ACプログラムを使用して、ユーザーがLinuxに存在するコマンドを入力したかどうかを判断する方法

Related 関連記事

  1. 1

    drupal8ユーザーログインフォームの入力と検証を変更するにはどうすればよいですか?

  2. 2

    外部プログラム/スクリプトを実行し、ユーザー入力を要求するかどうかを検出します

  3. 3

    ユーザーがjspの1つのフィールドに入力した場合、他のフォームフィールドに自動的に入力するにはどうすればよいですか(spring mvcとhibernateを使用している間)

  4. 4

    C# プログラム ループが最後のセッションからの入力を自動的に保存しないようにする方法は?

  5. 5

    ユーザーの入力によってhtmlフォームに自動的に入力されるレスポンシブhtmlテーブルフィールドを作成するにはどうすればよいですか?

  6. 6

    Cプログラムは、Linux環境で他のアクションを同時に実行しながら、ユーザー入力をポーリングするにはどうすればよいですか?

  7. 7

    MVPアプローチを使用して、コントロールが動的であるユーザーフォーム入力を検証します

  8. 8

    ユーザーがJTextFieldに何かを入力するまで、プログラムを「一時停止」します

  9. 9

    テレグラムボット-ユーザーが入力を開始したことをどのように検出できますか?

  10. 10

    ファクタープログラムで数値を除外する方法は?AND特定の番号が入力されるまでユーザーにプロンプトを表示するにはどうすればよいですか?

  11. 11

    scanner.nextLine()は、ユーザーが1-2を入力するとエラーになります。プログラムがこの入力を1として受け入れるようにするにはどうすればよいですか?

  12. 12

    bash メニューで、ユーザーがカスタム コマンドを入力できるようにオプションを選択しますか?

  13. 13

    Laravel 4でajaxを介してロードされるフォームのセクションにフィールド値を自動入力するにはどうすればよいですか?

  14. 14

    ユーザーがオプションのリストから選択できるメニュープログラムをC ++で記述し、入力がオプションの1つでない場合は、リストを再印刷します。

  15. 15

    ユーザーがオプションのリストから選択できるメニュープログラムをC ++で記述し、入力がオプションの1つでない場合は、リストを再印刷します。

  16. 16

    SDKを使用してフォームに自動入力するFirefoxプラグインを作成するにはどうすればよいですか?

  17. 17

    ターミナルセッションでユーザー入力とプログラム出力を別々にログに記録できますか?

  18. 18

    誰かが私にグーグルフォームのサンプルスクリプトを提供して、質問の説明に以前の回答を自動入力することはできますか?

  19. 19

    オプション1とオプション2のコンパイル済みプログラムにランダムデータを同時に入力するには、どのようなパイプが機能しますか?

  20. 20

    このプログラムでユーザー入力をリンクリストに追加するにはどうすればよいですか?

  21. 21

    ループを使用してフォームのテキストボックスを自動入力するにはどうすればよいですか?

  22. 22

    ユーザーが「終了」と入力したときにこのプログラムを終了するにはどうすればよいですか?

  23. 23

    Javaユーザーがコマンドプロンプトに入力を入力するまでプログラムの実行を停止します

  24. 24

    プログラムがユーザーにプロンプトを表示する前にユーザー入力を受け取るのはなぜですか?

  25. 25

    SPが開始したログインからユーザー名を送信してIdPログインフォームに事前入力しますか?

  26. 26

    ユーザーが無効な入力を入力した場合、どうすればプログラムを終了できますか?

  27. 27

    ユーザーが複数のCSVファイルをユーザー入力からプログラムに保存できるようにするにはどうすればよいですか?-Python

  28. 28

    Java計算プログラムにユーザー入力の検証を取得するにはどうすればよいですか?

  29. 29

    ACプログラムを使用して、ユーザーがLinuxに存在するコマンドを入力したかどうかを判断する方法

ホットタグ

アーカイブ