1

はじめに、これは非常に高度な質問であることは承知していますが、ソリューションを実装する方法ではなく、ソリューションを最適に設計する方法について意見を求めています。

私がこれまでに持っているものは次のとおりです。

  1. 複数のトラッキング ベンダーを使用しているため、各ベンダーのトラッキング コードは、トラッキング方法を標準化するオブジェクトにラップされています。どの追跡ベンダーが使用されていても、特定のメソッドを常に呼び出すことができ、ベンダーを本質的に交換可能にするという考え方です。
  2. すべてのベンダー ラッパーは、何をいつ追跡するかを指示する追跡ルール オブジェクトを受け入れます。たとえば、トラッキング ルール オブジェクトには、適切なタイミングで実行される onDOMReady、onFormSubmit、および onDOMChange メソッドが含まれます。

私が現在苦労しているのは、イベントに関するデータを収集する際の最善のアプローチです。以前は、ルール オブジェクトは常に次の方法でデータを収集していました。

  • 現在の URL の解析(既知の URL 構造に基づく)
  • タグの値(h1 やタイトルなど)と属性(フォーム名など)の DOM をスクレイピングする
  • 他のデータを探して、インスタンス化されたさまざまな JS オブジェクトを掘り下げます。たとえば、user.current.id からユーザーの ID を取得します。

これは、バックグラウンドで追跡を実行できるため、過去に役立ちました。もちろん、何よりもコレクション メソッドでは、オブジェクトを変更しても安全に見えるように変更内容に注意する必要があり、DOM 構造は追跡に劇的な影響を与える可能性があります。多くのさまざまな人々がコードに貢献しているため、データ収集を処理するより良い方法を探しています。

浮上したいくつかのアイデアは次のとおりです。

  • データ バインドを使用して、すべての追跡情報を DOM に格納します。これには透過的であるという利点がありますが、冗長になるという欠点があります。さらに、排他的に使用する場合、JS オブジェクトにのみ存在するデータを DOM に転送する必要があります。
  • 非侵入型の方法を引き続き使用しますが、より広範な単体テストを記述します。(これは非常に簡単ですが、これをよりクリーンなデータ収集プロセスと組み合わせて、困難な作業を軽減したいと思います)

役立つベストプラクティス、哲学、提案はありますか?

4

0 に答える 0