问答
汇聚万千技术同行,共享实战经验,精准解答开发难题。
-
2
回答
41浏览
Vue 项目里怎么用 MVP 模式组织代码?
最近在重构一个 Vue 2 的老项目,想尝试用 MVP(Model-View-Presenter)模式来解耦逻辑,但有点搞不清怎么在 Vue 里合理划分 Presenter 和组件的关系。我试过把业务...
框架 2026-03-02 13:51:22 -
2
回答
35浏览
Tree Shaking 为什么没生效?打包体积还是很大
我用的是 Vite + React,明明只 import 了 lodash 的 debounce,但打包后整个 lodash 都被打进去了,体积一点没减小。是不是 Tree Shaking 没生效? ...
优化 2026-03-02 13:50:20 -
2
回答
29浏览
长列表滚动卡顿,怎么优化内存占用?
我用 React 渲染一个上千条消息的聊天列表,虽然用了虚拟滚动,但内存还是涨得特别快,页面越滚越卡。是不是没清理掉不可见的 DOM 节点? 目前是用 react-window 的 FixedSize...
优化 2026-03-02 13:40:21 -
2
回答
30浏览
H5页面调用刷卡支付时,如何正确唤起银联支付界面?
我在做移动端H5的刷卡支付功能,后端返回了一个form表单,让我直接提交到银联的URL。但我在iOS Safari和安卓微信里测试时,有时候能跳转,有时候直接白屏或者没反应,不知道是不是我提交方式有问...
移动 2026-03-02 13:02:25 -
2
回答
30浏览
如何实现页面加载进度条?
我在做项目首页,想加个顶部的加载进度条,但不知道怎么监听整体资源加载进度。 试过用 window.onload,但只能知道什么时候加载完,没法拿到中间的进度。也查了 performance.getEn...
优化 2026-03-02 12:11:18 -
1
回答
41浏览
PageHeader 页头返回按钮怎么自定义跳转路径?
我用的是 Ant Design 的 PageHeader 组件,想改返回按钮的跳转链接,但文档里没看懂怎么覆盖默认的 go(-1) 行为。试了加 onClick 也不生效,点回去还是浏览器后退。 现在...
组件 2026-03-02 11:57:18 -
2
回答
30浏览
权限刷新后样式没更新,是缓存问题吗?
我在做前端权限控制,用户切换角色后动态加载菜单和按钮权限,但发现有些按钮的显示状态没变。强制刷新页面才生效,是不是哪里缓存了? 我试过在权限变更后调用 Vue 的 $forceUpdate(),也清过...
安全 2026-03-02 11:38:22 -
2
回答
41浏览
uni-app上传图片到云存储总是失败怎么办?
我在用uni-app开发一个小程序,想把用户选择的图片上传到uniCloud的云存储,但每次调用uniCloud.uploadFile都报错“file not found”。我明明已经用uni.cho...
移动 2026-03-02 11:37:22 -
1
回答
40浏览
自定义按钮组件如何正确支持键盘访问和屏幕阅读器?
我写了个自定义的按钮组件,用div模拟的,但发现Tab键没法聚焦,屏幕阅读器也读不出它是按钮。加了role="button"还是不行,是不是还缺啥? 下面是我现在的代码: <div role="...
组件 2026-03-02 10:53:19 -
2
回答
35浏览
JavaScript协议链接也会触发XSS吗?
我在做富文本展示功能,用户输入的内容里可能包含超链接。我过滤了标签,但发现如果链接是javascript:alert(1)这种形式,点击后还是会执行代码,这算XSS漏洞吗? 我试过用正则匹配href属...
安全 2026-03-02 10:52:24 -
1
回答
35浏览
GitHub Actions 上传的 Artifacts 为啥下载后文件路径变了?
我在 GitHub Actions 里用 actions/upload-artifact@v4 上传了一个 dist 目录,但下载下来发现整个目录结构被展平了,原本的子文件夹都不见了。 我明明是这样写...
工具 2026-03-02 10:35:19 -
2
回答
36浏览
用 interact.js 实现拖拽时元素位置偏移怎么办?
我在用 interact.js 做一个可拖拽的卡片组件,但每次拖动时元素都会突然跳一下,感觉位置偏移了。我试过调整 dragMoveListener 里的 translate 值,但还是不对。 这是我...
交互 2026-03-02 10:23:20 -
1
回答
45浏览
移动端手势冲突时如何处理优先级?
我在做移动端页面,同一个区域既要支持左右滑动切换,又要支持上下滑动滚动,结果两个手势老打架,到底该怎么控制谁先响应啊? 试过用 touchstart 里 preventDefault() 拦截,但一拦...
移动 2026-03-02 10:13:24 -
1
回答
28浏览
前端权限控制怎么做才安全?
我在用 Vue 做后台管理系统,现在想根据用户角色显示不同菜单。但听说前端鉴权只是“障眼法”,后端不校验照样能被绕过?那我前端还有必要做权限控制吗? 目前我是这样写的: const userRole ...
安全 2026-03-02 10:08:19 -
2
回答
18浏览
Dash.js播放HLS流时为什么一直卡在loading状态?
我用 Dash.js 尝试播放一个 HLS 流(其实是 .m3u8 链接),但页面一直显示 loading,控制台也没报错。明明这个链接在 VLC 里能正常播放,是不是我初始化方式有问题? 我试过设置...
交互 2026-03-02 10:03:18 -
2
回答
42浏览
GraphQL查询返回数据结构嵌套太深怎么处理?
我在用Apollo Client调用GraphQL接口时,发现返回的数据嵌套层级特别深,比如user.profile.settings.theme这种,取值的时候老怕写错路径,还容易报undefine...
框架 2026-03-02 09:53:20 -
1
回答
42浏览
Anchor锚点滚动后页面位置偏移怎么解决?
我在用Ant Design的Anchor组件做文档页导航,点击锚点后页面滚动的位置总是偏上一截,导致标题被顶部固定导航栏挡住。 试过给目标元素加padding-top,但这样会影响布局。也查了文档说可...
组件 2026-03-02 09:45:19 -
2
回答
24浏览
点击劫持Self检测为啥没生效?
我按照网上教程加了点击劫持的Self检测,但嵌套在iframe里还是能正常加载,根本没被拦截。是我写法有问题吗? 我试过在页面顶部加这段CSS: body { display: block !impo...
安全 2026-03-02 09:37:18 -
2
回答
34浏览
前端输出用户内容时怎么防止XSS攻击?
我在做一个评论功能,用户提交的内容直接用 innerHTML 插入到页面上,结果发现如果输入 <script>alert(1)</script> 会被执行,这明显有安全风险。 ...
前端 2026-03-02 09:23:19 -
1
回答
38浏览
FCP 太慢,首页白屏时间长怎么办?
我用 React 做了个首页,但 Lighthouse 测出来 FCP 超过 4 秒,用户看到的是一片白屏,特别影响体验。我已经把关键 CSS 内联了,也用了懒加载,但还是没改善。 页面结构很简单,就...
前端 2026-03-02 09:16:21