文章列表

构建易于扩展的前端统计脚本

,
随着前端应用日益复杂,传统后端日志已难以精确捕获SPA页面、组件交互等用户行为。文章分析了Google Analytics、淘宝SPM、百度Alog等业界方案后,指出GET请求存在URL污染、频繁请求阻塞体验、策略固定等局限,提出以POST 阅读全文

加速 Ghost 静态资源

, ,
针对Ghost 0.5.8版本静态资源加速需求,提供一种基于CDN反代功能的非侵入式方案。通过在config.js中配置cdn对象,并修改asset、image、url三个模板helper,实现主题资源、文章图片的CDN路径自动替换,同时保 阅读全文

格式化 UserAgent

,
基于 KISSY v1.4.x 的 UA 模块解析 UserAgent 字符串,提取浏览器内核版本(webkit、trident、gecko、presto)、外壳版本(chrome、safari、firefox、ie、opera)及操作系统 阅读全文

更靠谱一些的正则表达式验证 JavaScript URL

, ,
提供一段经过多场景测试的 JavaScript URL 正则表达式验证方案,覆盖 HTTP/HTTPS 协议头、多级子域名、多级目录路径及查询参数等常见格式,同时列举了未带协议头、中文域名、无效字符串等失败用例。 阅读全文

console 的简单替换函数

针对浏览器环境下原生 console 被覆写或不存在导致的兼容性问题,提供了一种基于自建函数替代 console 的方案。该实现通过可配置的日志等级控制输出过滤,支持 count、error、warn、info、log、debug、time 阅读全文

Math.random() 随机数的二三事

, ,
Math.random() 生成的是 [0,1) 区间的伪随机数,通过乘以区间差并配合 Math.round、Math.ceil 或 Math.floor 可实现指定范围的整数随机数。利用 Number.prototype. 阅读全文

localStorage 容量测试脚本

, ,
localStorage 存储容量因浏览器版本、终端设备及操作系统差异而缺乏统一标准,官方文档常缺失或随版本变动。该测试脚本通过逐级写入数据直至触发异常,精确测量浏览器实际支持的存储上限,同时采集UA信息以区分平台环境。 阅读全文

简单的 i18N 脚本

,
一个轻量级 JavaScript 国际化解决方案,适用于单页面应用场景下的语言切换需求。该脚本通过 data-lang 属性标记多语言文本,利用 DOM 操作实现无刷新语言切换,支持 Cookie 状态持久化与 URL Hash 同步,暴露 阅读全文

论如何在 ATA 获得一本书

记录一次通过技术手段参与 ATA 抢楼活动获取新书的完整过程。发现活动采用斐波那契数列定楼层规则后,计算目标楼层为 610 层。通过分析评论接口发现无 CSRF 防护,遂利用浏览器控制台编写 JavaScript 脚本,模拟表单自动提交实现 阅读全文

一个不错的 Key Value 存储设计思路

,
一种通过分隔符连接有序键值对序列的Key-Value存储设计方案,采用分号包裹与冒号分隔的字符串格式存储多维属性数据。该设计利用中间缓存层扩展存储容量并规避键名冲突,前端解析时通过排序还原固定顺序,后端对接关系型数据库时便于水平拆分与数据迁 阅读全文