Procházet zdrojové kódy

feat: 优化曝光点击支持统一断点名称

zhangyuhan před 4 dny
rodič
revize
1f354537d5
3 změnil soubory, kde provedl 17 přidání a 1 odebrání
  1. 1 1
      src/easy-use-track.js
  2. 15 0
      src/module/utils.js
  3. 1 0
      src/plugins/click.js

+ 1 - 1
src/easy-use-track.js

@@ -155,7 +155,7 @@ class EasyUse {
         if (_this.config.selfTrackSupportEnabled) {
           try {
             const params = Object.assign({
-              c_breakername: (transformedData.data.content || '').substr(0, 15),
+              c_breakername: (transformedData.data.content || '').substr(0, 30),
               c_pagename: pageInfo.href.title,
               c_platform: pageInfo.platform,
               c_pageid: pageInfo.id,

+ 15 - 0
src/module/utils.js

@@ -27,6 +27,7 @@ export function getElementInfo(e, target) {
   const eNode = target || e.target
   return {
     event: e.type,
+    breakName: getDataText(eNode, 5) || null,
     element_id: eNode.getAttribute('id') || null,
     element_name: eNode.getAttribute('name') || null,
     element_alt: eNode.getAttribute('alt') || null,
@@ -53,6 +54,20 @@ function getText(el, level = 1) {
     return nowStr.replace(/[\n|\s|\t|\b]/g, '').substr(0, 30)
   }
 }
+/**
+ * 获取NodeDataSet Text信息
+ * @function getText
+ * @param {Element} el - 选择器或Node节点
+ * @returns {string}
+ * */
+function getDataText(el, level = 1) {
+  let nowStr = (el?.dataset?.exposure || '').trim()
+  if (nowStr === '' && level > 0) {
+    return getDataText(el?.parentNode, --level)
+  } else {
+    return nowStr.replace(/[\n|\s|\t|\b]/g, '').substr(0, 30)
+  }
+}
 
 
 

+ 1 - 0
src/plugins/click.js

@@ -46,6 +46,7 @@ export default class ClickPlugin extends TrackPlugins {
       data: {
         selector: eInfo.selector,
         content:
+          eInfo.breakName ||
           eInfo.element_name ||
           eInfo.element_alt ||
           eInfo.element_title ||