埋点上报系统

埋点类型分类:

在埋点中,主要埋点类型有点击埋点、曝光埋点,也可以具体定义业务上的埋点,比如下单埋点,加购埋点等。

其中,曝光事件通常在用户浏览应用或网站时触发。当用户进入一个页面或滚动页面时,页面中的元素(如广告、文章、图片等)可能会被用户看到,这时就可以触发相应的曝光事件。曝光事件的触发可以通过在相应元素上添加相应的代码片段来实现。一旦曝光事件被触发,相关的数据就可以被采集并发送到后端进行记录和分析。

曝光埋点原理 - IntersectionObserver

判断元素是否处于用户可见状态的具体代码可以使用 Intersection Observer API 来实现。以下是一个示例代码:

// 创建一个 IntersectionObserver 实例
const observer = new IntersectionObserver(entries => {entries.forEach(entry => {// 判断元素是否处于用户可见状态if (entry.isIntersecting) {// 元素进入可见区域,触发曝光事件// 在这里可以执行相应的操作,比如发送曝光数据到后端console.log('Element is visible');}});
});// 需要追踪曝光的元素
const targetElement = document.querySelector('.target-element');// 开始观察目标元素
observer.observe(targetElement);

在上述代码中,我们首先创建了一个 IntersectionObserver 实例,通过传入一个回调函数来处理元素的可见状态变化。在回调函数中,我们判断 entry.isIntersecting 属性是否为 true,如果是,则表示元素进入了用户可见区域,可以触发曝光事件。然后,我们选择需要追踪曝光的目标元素,并调用 observer.observe() 方法开始观察目标元素的可见状态变化。

请注意,以上代码仅为示例,实际应用中可能需要根据具体需求进行适当的修改和扩展。

Demo:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Document</title></head><body><h1 id="h1">1</h1><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><h2 id="h2"></h2></body><script>// 创建 IntersectionObserver 实例const observer = new IntersectionObserver(entries => {entries.forEach(entry => {if (entry.isIntersecting) {// 目标元素进入视口console.log('Element is in viewport');} else {// 目标元素离开视口console.log('Element is out of viewport');}});});// 需要观察的目标元素const targetElement = document.querySelector('#h1');// 开始观察目标元素,如果想观察多个元素,可以for循环observer.observe(targetElement);</script>
</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/144494.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【python】Django——django简介、django安装、创建项目、快速上手

笔记为自我总结整理的学习笔记&#xff0c;若有错误欢迎指出哟~ 【Django专栏】 Django——django简介、django安装、创建项目、快速上手 Django——templates模板、静态文件、django模板语法、请求和响应 Django——连接mysql数据库 Django——django安装、创建django项目、dj…

字母不重复的子串-第15届蓝桥第二次STEMA测评Scratch真题精选

[导读]&#xff1a;超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成&#xff0c;后续会不定期解读蓝桥杯真题&#xff0c;这是Scratch蓝桥杯真题解析第158讲。 第15届蓝桥第2次STEMA测评已于2023年10月29日落下帷幕&#xff0c;编程题一共有6题&#xff0c;分别如下&am…

解决:Android TextView 设置斜体后右侧文字被遮挡

一、问题说明 遇到一个比较奇怪的情况&#xff0c;给 TextView 文字设置倾斜后&#xff0c;右侧的文字会被遮挡&#xff0c;感觉这应该是 Android 的一个 bug &#xff01; 上代码&#xff1a; <TextViewandroid:id"id/tv_title"android:layout_width"wra…

windows与wsl互传文件

1.把windows上的文件传到wsl中&#xff0c;\\wsl.localhost\Ubuntu-22.04\mnt\wsl 将你要传的文件放到wsl这个路径下&#xff0c;Ubuntu-22.04是我的子系统&#xff0c;换成自己对应的 2.把wsl中的文件传到windows中 将wsl中的文件放到 /mnt/c 或 /mnt/d 中&#xff0c;这两…

小红书直播开启新纪元,拓世法宝AI直播一体机助您轻松成为行业标杆!

2023年&#xff0c;小红书终于成功坐上了电商牌桌。 今年3月的“董洁效应”带动了一批品牌商家、博主入驻小红书试水&#xff0c;其直播业务积蓄了巨大势能。10月15日&#xff0c;“初代名媛”章小蕙完成了在小红书的第二场直播&#xff0c;以销售额破亿的成绩打响了小红书双1…

大厂必备的6款React UI框架

优秀的ReactUI框架可以为您节省开发时间&#xff0c;提高开发效率&#xff0c;统一设计语言。你还在为你的项目寻找高质量的ReactUI框架吗&#xff1f;为了让您更容易找到易于使用的UI框架&#xff0c;分享6个优秀的ReactUI框架选项&#xff0c;并介绍了每个UI框架的不同功能和…

WPF中的App类介绍

在WPF (Windows Presentation Foundation) 应用程序中&#xff0c;App 类扮演着很重要的角色。这个类通常在每个WPF应用程序中都会有&#xff0c;并且生成在App.xaml文件和其代码后台App.xaml.cs中。App类通常继承自System.Windows.Application类&#xff0c;并且有以下的主要职…

Google 向中国开发者开放数百份 TensorFlow 资源

Google 的机器学习框架 TensorFlow 自 2015 年开源后&#xff0c;已然成为 AI 领域最受欢迎的框架。 据统计&#xff0c;在广受欢迎的 Python 编程语言在线软件知识库 PyPi 上&#xff0c;TensorFlow 的下载次数已超过 90 万&#xff0c;其中有 15% 来自中国。谷歌官方博客也表…

分布式事务解决方案

分布式事务解决方案 百度安全验证 分布式事务解决方案 【精选】这六种目前最常见分布式事务解决方案&#xff01;请拿走不谢-CSDN博客

Android问题笔记四十四:关于RecyclerView出现Inconsistency detected崩溃

点击跳转>Unity3D特效百例点击跳转>案例项目实战源码点击跳转>游戏脚本-辅助自动化点击跳转>Android控件全解手册点击跳转>Scratch编程案例点击跳转>软考全系列 &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff0c;以及各种资源分享&…

AppLink上的小鹅通能实现什么操作呢?

AppLink实现小鹅通信息同步操作 本篇文章给大家演示下小鹅通可在AppLink平台上快速实现的同步操作&#xff0c;1.用户注册或更换手机号信息同步 2.小鹅通产生新的购买订单&#xff0c;订单信息同步。 以下操作均需获得小鹅通授权 授权后登录AppLink操作台&#xff0c;在【我的…

ajax异步传值以及后端接收参数的几种方式

异步传值 第一种呢&#xff0c;也是最简单的一种&#xff0c;通过get提交方式&#xff0c;将参数在链接中以问号的形式进行传递 // 前台传值方法 // 触发该方法调用ajaxfunction testAjax(yourData) {$.ajax({type: "get", // 以get方式发起请求url: "/yo…

HackTheBox-Starting Point--Tier 2---Included

文章目录 一 Included 测试过程1.1 打点1.2 横向移动1.3 权限提升 二 题目 一 Included 测试过程 1.1 打点 1.端口扫描 nmap -sV -sC 10.129.193.212.访问web站点 3.文件包含漏洞探测 观察请求地址&#xff1a;http://10.129.193.21/?filehome.php&#xff0c;利用file参数动…

【Spring】 Spring中的IoC(控制反转)

以往在定义业务层实现时&#xff0c;在指定具体地Dao时候需要具体地定义出其实现&#xff1a; public class BookServiceImpl implements BookService{private BookDao bookDao new BookDaoImpl();public void save(){bookDao.save()} }public class BookDaoImpl implements …

Excel处理库openpyxl的使用

读取工作表 from openpyxl import load_workbook wbload_workbook("学生成绩表.xlsx") wb.get_sheet_names() a_sheetwb.get_sheet_by_name(计算机应用3班) print(a_sheet.title) b_sheetwb.active print("激活的sheet:{}".format(b_sheet)) #获取单个单元…

只有开源才能拯救AI

导语 | 随着 AI 技术的蓬勃发展&#xff0c;大模型的开源化正成为人工智能领域的新潮流&#xff0c;但同时引发的伦理和安全风险也饱受大家关注&#xff0c;如何把握平衡其中的尺度成为开源的一大难题。我们又应该如何有效进行开源治理&#xff1f;未来将走向何方&#xff1f;今…

二叉树题目:统计二叉树中好结点的数目

文章目录 题目标题和出处难度题目描述要求示例数据范围 解法一思路和算法代码复杂度分析 解法二思路和算法代码复杂度分析 题目 标题和出处 标题&#xff1a;统计二叉树中好结点的数目 出处&#xff1a;1448. 统计二叉树中好结点的数目 难度 5 级 题目描述 要求 给定一…

IEEE Standard for SystemVerilog—Chapter14. Clocking blocks

14.1 General This clause describes the following: — Clocking block declarations(时钟块声明) — Input and output skews(输入和输出偏斜) — Clocking block signal events(时钟块信号事件) — Cycle delays(周期延迟) — Synchronous events(同步事件) — Synchronous…

Nginx静态资源部署之响应内容部署

文章目录 Nginx静态资源概述Nginx静态资源的配置指令listen指令server_name指令匹配执行顺序 location指令设置请求资源的目录root / aliasindex指令error_page指令 Nginx静态资源概述 Nginx处理静态资源的内容&#xff0c;我们需要考虑下面这几个问题&#xff1a; &#xff…

1700亿烧光,利润暴跌78%!外媒:中芯国际不是麒麟9000S的代工厂

作为芯片代工领域的领导者&#xff0c;台积电在全球半导体市场上占据着重要的地位。然而&#xff0c;由于美国对华为的制裁&#xff0c;台积电关闭了对华为麒麟芯片的代工&#xff0c;这也引发了外界对于芯片代工模式的讨论。与此同时&#xff0c;中芯国际作为大陆规模最大、技…