在前文《Angular 项目如何接入 Google Adsense,并实现动态读取配置和反 Adblock Plus 拦截?》中,提到了如何进行 Adblock Plus、AdGuard 等广告拦截插件的检测,本文对此作一详细分析。目前网络上常见的检测方式有几种:设置全局变量,并将其文件名命名为类似ads.js等带关键词的名字。设置...[阅读全文] AdSense 接入问题,实际上 npm 上已经有一些三方包了,正常的应用场景基本是能覆盖的,但有几个进阶的需求,便需要自己定制开发了:AdSense 配置需要从配置中心读取,以避免 hard code,也就是需要支持通过传入 option key 自动调用配置中心接口动态获取配置。需要区分桌面端和移动端,分别设计不...[阅读全文] 在《Angular Universal(SSR)的重复加载问题》一文中曾经介绍过Angular v14.x版本中出现的重复加载(flickering)问题,并给出了解决方案。然而,升级到Angular v15.x后,重复加载问题再次出现了。诡异的是,实际上,state在服务端是正常调用并在页面缓存了的。如下:console.log(1, storedRe...[阅读全文] 在数据大屏(数据看板)场景中,常遇到以折线图方式展现数据的同比情况的需求,即在同一张折线图中显示当前周期和上一周期的数据对比情况,如下图所示:ECharts同比折线图具体的需求包含以下几个方面:在同一张图表中展示2条折线;Tooltip分别提示不同周期的同一时间点的数据详情;弱化显示上一周期...[阅读全文] 众所周知,深色(暗黑)模式(体验本站的深色模式,PC端可以点击页面右上角的月亮/太阳图标,移动端可以点击页面左上角进入菜单后点击月亮/太阳图标)主要是通过CSS的媒体查询(MediaQuery)实现的,如下:/* Light mode */@media (prefers-color-scheme: light) { body { ... }}/* Dark...[阅读全文] 从一些抽象的形而上的角度,谈谈为什么选择Angular。[阅读全文] 近日,无意中点击ECharts饼图图例时,发现隐藏某个数据点后,其它数据点的百分比显示不正常,既不是数据点本身的百分比,也不是隐藏某个数据点后重新计算的剩余数据的百分比。正常情况下,显示如下图:ECharts饼图显示百分比隐藏某个数据点后,显示如下:ECharts饼图错误的百分比可以发现,图中...[阅读全文] 数据大屏中的折线图的一个典型场景是根据查询的统计时间范围不同显示不同时间粒度的折线图,如:按月、按年,以及分时图等,如果在以年为周期的图表中仍然显示分钟、小时数据,无疑是怪异的。以月为粒度的折线图以天为粒度的折线图以小时为粒度的折线图因此,就需要对传入的统计时间范围参数做一个判断...[阅读全文] 梧桐CMS管理后台数据看板在解决了数据断点问题后,整个数据看板(数据大屏)宣告完工,耗时:开发2天(含文档学习、架构设计,及API、前端开发),优化、Bug修复1天。无论是过程,还是结果,都是相当满意,也可谓收获满满。故,在此做一番总结和感慨……缘起关于数据大屏,内心一直...[阅读全文]