前端中的功能实现

前端中的功能实现

#tech / dev / frontend #type / howto #status / growing

前端中的功能实现


功能实现

隐藏元素的方法

  • display:none
    彻底移除
  • visibility:hiden
    仍然占据空间
    占位隐藏
  • opacity:0
    占空间、可交互
    透明动画或交互隐藏
  • position:absolute + 偏移
  • clip-path 或 clip:rect(0,0,0,0)
    裁剪
  • width:0;height:0 overflow: hidden
  • HTML 的 hidden
  • z-index < 0 + position
  • JS 控制
  • jQuery 方法

账号认证

例子

dailyuse

登录
前端调用 login API , 通过 ipc 通信给 nodejs,nodejs 调用 login 服务(值的检查、数据库查询、返回信息),前端根据返回的信息判断是否成功。 实现“记住我”:后端生成、保存并返回 token,前端在localstorage中保存 token,下次快速登录时携带并查询 token,未过期则直接返回成功。
登出
清除当前登录信息(设置当前

小功能

日期格式化

  • 自定义
  • 原生 Intl.DateTimeFormat
  • 第三方库
    Moment.js
    date-fns

主题切换

  • CSS + JS
  • CSS 滤镜
  • light-dark() 函数
  • CSS Toggles

业务功能

前端如何实现扫码登录功能

  1. 前端向服务器发起请求生成一个唯一的二维码
  2. 展示二维码并轮询检查扫码状态
  3. 手机端扫码成功后通知服务器,服务器再通知前端
  4. 前端收到扫码成功的消息后,执行登录逻辑
  • websocket 实时推送扫码状态更好,减少轮询频率,提高响应速度
  • 二维码要有时效性,可使用 JWT 令牌或 Redis 缓存
  • 兼容性

如何实现单点登录

单点登录(Single Sign-On,SSO)是一种认证机制,允许用户在多个独立的系统或应用之间,只需一次登录就能访问所有的系统或应用。
实现通常依赖于后端的支持和浏览器的 Cookie 机制

如何解决 SPA 应用首屏加载速度慢的问题

  • 按需加载、代码分割
  • 服务端渲染(SSR)
  • 使用骨架屏
  • CDN 加速

如何设计一款能够统计前端页面请求耗时的工具

  1. 使用 XMLHttpRequest 或 fetch API 拦截请求和响应
  2. 记录发起请求的事件和收到响应的时间
  3. 计算时间差
  4. 存储数据
  5. 数据展示

如何设计和优化秒杀系统的前端

  • 界面设计
  • 性能优化
  • 防止刷量和攻击
  • 用户体验

无限滚动加载和自动回收上面的内容

  • 使用 Intersection Observer API 监听元素进入/离开视口,从而触发操作。
  • 动态创建和删除 DOM 元素

文件的断点续传,并确保大文件安全可靠上传

  • 文件分块上传
  • 断点续传标识
  • MD5 校验
  • 并发上传
  • 进度监控

WebSocket 的实时聊天功能,支持多用户在线聊天并展示消息通知

  1. 建立 WebSocket 连接
    前端需要和服务器建立 WebSocket 连接
  2. 处理连接事件
  3. 发送消息
  4. 接收消息
  5. 显示消息通知

如何设计前端日志埋点 SDK

添加水印

  • html、css、js 实现
  • canvas、多重水印

实时补全搜索框

  1. 输入框捕捉输入
  2. 事件监听器捕捉输入内容
  3. 每当输入时,触发 AJAX 请求(Fetch API 或 Axios)发送到服务器,获取匹配词推荐
  4. 服务器返回
  5. 前端显示

如何对每个 JavaScript 函数的执行实现拦截

使用 JS 的 Proxy 和 Reflect 这两个对象。
Proxy 对象用于定义自定义行为(函数调用、属性访问等)的拦截器
Reflect 可以确保原生操作的默认行为得以执行

创建于 2025/1/1 更新于 2026/5/27