提问背景 Question:
你是不是少说了什么,现在动不了了,出错了。Failed to load resource: net::ERR_BLOCKED_BY_CLIENT
长文本折叠功能的实现方案
针对你遇到的 'net::ERR_BLOCKED_BY_CLIENT' 错误,这通常不是代码逻辑问题,而是浏览器插件(如广告屏蔽插件)根据你的类名或ID命名的敏感度进行了拦截。请遵循以下步骤排查:
- 重命名类名:检查 CSS 中是否使用了 'ad'、'banner'、'popup' 等可能触发拦截器的关键字,将其重命名为 'msg-container' 或 'fold-wrapper'。
- 检查 JS 加载时机:确保在 DOM 元素渲染完成之后再绑定点击事件,推荐使用事件委托:
document.addEventListener('click', (e) => { if(e.target.classList.contains('toggle-btn')) { ... } })。 - 解决滚动定位问题:使用
element.scrollIntoView({ behavior: 'smooth', block: 'nearest' }),这样在点击收起按钮时,浏览器会自动根据当前显示区域调整偏移,确保内容不会跳出视野。 - CSS 居中与样式:为按钮设置
display: flex; justify-content: center;,并给折叠状态添加transition: max-height 0.3s ease;以获得丝滑的展开/收起体验。