Browse Source

feat: 优化兼容 shadow-dom、支持扩展字段

zhangyuhan 2 years ago
parent
commit
acc05c3ce3
3 changed files with 6 additions and 13 deletions
  1. 3 1
      src/index.js
  2. 3 2
      src/plugins/click.js
  3. 0 10
      yarn.lock

+ 3 - 1
src/index.js

@@ -7,6 +7,7 @@ import { loadJS } from './module/utils'
     jyEventTrack.$subscribe.$on('CLICK-TRACK', function (transformedData, pageInfo) {
       if (typeof clab_tracker !== 'undefined' && typeof clab_tracker.track === 'function') {
         try {
+          const customInfo = window.jy_tarck_info || {}
           clab_tracker.track('c_jyclick', {
             c_breakername: transformedData.data.content.substr(0, 15),
             c_pagename: pageInfo.href.title,
@@ -14,9 +15,10 @@ import { loadJS } from './module/utils'
             c_pageid: pageInfo.id,
             c_url: pageInfo.href.href,
             c_breakerid: transformedData.key,
+            c_product: '',
             // c_clicktime: new Date(transformedData.data.event_time),
             date: new Date(transformedData.data.event_time)
-          })
+          }, customInfo)
         } catch (e) {
           console.warn('!! Check Track JS !!')
         }

+ 3 - 2
src/plugins/click.js

@@ -12,6 +12,7 @@ export default class ClickPlugin extends TrackPlugins {
 
     if (checkHasJquery()) {
       const clickFn = throttle(function (e) {
+        const eventPath = e.composedPath ? e.composedPath() : e.path
         const jqEvent = checkJqueryEventBind.call(this, e, 0)
         let eInfo = {}
         let eTarget = jqEvent.target
@@ -20,7 +21,7 @@ export default class ClickPlugin extends TrackPlugins {
           eTarget = vueEvent.target
         }
         if (eTarget) {
-          eInfo = getElementInfo(e, eTarget.get(0))
+          eInfo = getElementInfo(e, eventPath[0])
         }
         _global.$subscribe.$emit(pluginName, {
           type: 'CLICK',
@@ -31,7 +32,7 @@ export default class ClickPlugin extends TrackPlugins {
           }
         })
       })
-      $('body').on('click', '*', clickFn)
+      document.body.addEventListener('click', clickFn, false)
     } else {
       // _global.logger.debug('未检测到Jq')
       window.onload = () => {

+ 0 - 10
yarn.lock

@@ -1017,16 +1017,6 @@ core-js-compat@^3.18.0, core-js-compat@^3.19.1:
     browserslist "^4.19.1"
     semver "7.0.0"
 
-crypto-es@^1.2.7:
-  version "1.2.7"
-  resolved "https://registry.npm.taobao.org/crypto-es/download/crypto-es-1.2.7.tgz#754a6d52319a94fb4eb1f119297f17196b360f88"
-  integrity sha1-dUptUjGalPtOsfEZKX8XGWs2D4g=
-
-crypto-js@^4.1.1:
-  version "4.1.1"
-  resolved "https://registry.npmmirror.com/crypto-js/download/crypto-js-4.1.1.tgz#9e485bcf03521041bd85844786b83fb7619736cf"
-  integrity sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==
-
 debug@^4.1.0, debug@^4.1.1:
   version "4.3.3"
   resolved "https://registry.npmmirror.com/debug/download/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664"