1/** 2 * Homepage GA4 Tracking Events 3 * ââââââââââââââââââââââââââââ 4 * éé dataLayer.push æ¨é site_click äºä»¶çµ¦ GTMã 5 * æ¢ä»¶: èªç³»é zh-cn ææååã 6 * 7 * å ©çµäºä»¶ï¼ 8 * KV: { event: "site_click", Item: "KV", Item_Cate: undefined, Item_Name: æ¨é¡ } 9 * ï¼Item_Cate æç¢ºé undefinedï¼æ¸ æ GTM data model æ®ççä¸ä¸æ¬¡å¼ï¼è¦ push() è¨»è§£ï¼ 10 * Homepage Content: { event: "site_click", Item: "Homepage Content", Item_Cate: åå¡é¡å, Item_Name: æ¨é¡ } 11 * 12 * ââ Homepage Contentï¼Task #47335ï¼Sena 2026-10 è¦é©è¦æ ¼ï¼ââ 13 * å代忬ç Solution / IoT Partner / Corporate News / Case Study åå Item å¼ï¼è¦æ ¼æç¢ºè¦æ± 14 * ç§»é¤ï¼GA4 å ±è¡¨ä¸è Item çæ·å²è³æä¸æè·æ°äºä»¶æ¥èµ·ä¾ï¼éæ¯å·²ç¥åæ¨ï¼ã 15 * 16 * åå¡é¡åè® <section data-home-section="..."> åå°ç §æåºå®è±æå¼ï¼ä¸è®å塿¨é¡æåä¹ä¸é 17 * æ¨£å¼ class 夿·ï¼ 18 * - å塿¨é¡å·²å¤èªç³»ç¿»è¯ï¼#47332ï¼ï¼æ¿æ¨é¡ç¶ Item_Cate æè®å ±è¡¨ä¾èªç³»ææå¤ç¨®å串 19 * - æ¨£å¼ class æé¨æ¹çè®åââèçéæ¯æªæ¡ç selector 卿°çé¢ä¸ç·å¾å¤§å¤å°ä¸å°å ç´ ï¼ 20 * 追蹤ææå¤±æï¼æ£æ¯é次è¦ä¿®çåé¡ 21 * 22 * Item_Name å¾è¢«é»çé£çµãå¾ä¸æ¾å°æå¨å¡çï¼åå¾ä¸æ¾æ¨é¡ãï¼Solutions 大å¡ï¼é®ç½©é£çµï¼ 23 * Discover More æéï¼è Case Studyï¼é®ç½©é£çµï¼Learn moreï¼ä¸å¼µå¡æå ©åé£çµï¼æ¨é¡è·é£çµ 24 * ä¸å¨åºå®ç¸å°ä½ç½®ï¼åªæå å®ä½å°å¡çæè½å ©åé£çµé½æ¿å°åä¸åæ¨é¡ã 25 * 26 * å ¨é¨ç¨ $(document).on äºä»¶å§æ´¾ï¼KV ç slide æ¯ home/index.js ä¹å¾æå¡é²ä¾çï¼Newsï¼ 27 * Case Studyï¼Video ä¹æè¢« personalization.js æ´æ®µæ¿æï¼å§æ´¾æä¸ææ¼ææ°ç¢ççå ç´ ã 28 */ 29(function ($) { 30 'use strict'; 31 32 // data-home-section å¼ â GA4 Item_Cateï¼Sena è¦æ ¼æå®çå串ï¼ä¸è¦æ¹åï¼ 33 var SECTION_CATE = { 34 'news': 'News', 35 'solutions': 'Solution', 36 'case-studies': 'Case Study', 37 'videos': 'Video' 38 }; 39 40 $(function () { 41 var langElement = document.getElementById('hidGlobalLang'); 42 var currentLang = langElement ? langElement.value : ''; 43 44 if (currentLang === 'zh-cn') return; 45 46 // æ¯æ¬¡é½å¸¶é½ Item / Item_Cate / Item_Name ä¸åæ¬ä½ï¼GTM æææ¯æ¬¡ push åä½µé²åä¸ä»½ 47 // data modelï¼æ²å¸¶å°ç key ææ²¿ç¨ä¸ä¸æ¬¡çå¼ãKV æ²æåé¡ï¼è¥ä¸æç¢ºé undefinedï¼ä½¿ç¨è 48 // å é»å §å®¹å¡ï¼ä¾å¦ ctrl+click éæ°åé ã人éçå¨é¦é ï¼åé» KVï¼GTM è®å°ç Item_Cate 49 // ææ¯ä¸ä¸æ¬¡çå¼ï¼ä¾å¦ "Video"ï¼ã 50 // éè£¡å»æç´æ¥çµç©ä»¶ãä¸ç¨ $.extendï¼$.extend æç¥éå¼çº undefined ç屬æ§ï¼ 51 // Item_Cate: undefined æè¢«ä¸æï¼çæ¼æ²æ¸ ã 52 function push(item, itemCate, itemName) { 53 window.dataLayer = window.dataLayer || []; 54 window.dataLayer.push({ 55 event: 'site_click', 56 Item: item, 57 Item_Cate: itemCate, 58 Item_Name: itemName 59 }); 60 } 61 62 function cleanText(text) { 63 return String(text || '').replace(/\s+/g, ' ').trim(); 64 } 65 66 // 1. KV Banner 黿 67 $(document).on('click', '.ui-home-hero__actions .ui-btn', function () { 68 var itemName = $(this).closest('.ui-home-hero__slide').find('.item__title').first().text(); 69 push('KV', undefined, cleanText(itemName)); 70 }); 71 72 // 2. Homepage Contentï¼News / Solutions / Case Studies / Videos åå¡å §ä»»ä¸é£çµ 73 $(document).on('click', '[data-home-section] a', function () { 74 var $link = $(this); 75 var section = $link.closest('[data-home-section]').attr('data-home-section'); 76 var itemCate = SECTION_CATE[section]; 77 if (!itemCate) return; // æªåå¨å°ç §è¡¨çåå¡ä¸æ¨éï¼é¿å éåºéè¦æ ¼å¼ 78 79 // æ£å¸¸è·¯å¾ï¼å¡çæ¨é¡ãæ¾ä¸å°ï¼ä¾å¦ UI Kit æ¹çãé£çµä¸åå å¨ .ui-card/.ui-bento-item è£¡ï¼ 80 // æéåé£çµç aria-labelââ宿叶åç¶´ï¼"view more about ..."ã"Watch: ..."ï¼ï¼ 81 // ä¸å¦æ¨é¡ä¹¾æ·¨ï¼ä½æ¯éåºç©ºå串ææç¾©ãå ©è 齿²æå°±ä¸éï¼ä¸¦ç console è¦åï¼ 82 // é¿å çé¢è®å徿æéåºç¡æç¾©çè³æã 83 var itemName = cleanText($link.closest('.ui-card, .ui-bento-item').find('h3, h4').first().text()) 84 || cleanText($link.attr('aria-label'));
85 if (!itemName) { 86 console.warn('[homepage tracking] Homepage Content link has no card title or aria-label; event not sent.', this); 87 return; 88 } 89 90 push('Homepage Content', itemCate, itemName); 91 }); 92 }); 93})(jQuery);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.