Hasty Briefsbeta

双语

Hiding elements that require JavaScript without JavaScript

a year ago
  • #Web Development
  • #Progressive Enhancement
  • #JavaScript
  • 该网站旨在无需JavaScript也能正常运行,但禁用JavaScript时某些元素可能显得笨拙。
  • 通过7行代码(或单行代码)解决方案可隐藏依赖JavaScript的元素,避免对禁用JavaScript的用户造成功能缺失。
  • 示例:分享按钮在启用JavaScript时显示SVG图标,禁用时通过`<noscript>`标签显示链接。
  • 初始方案:通过在`<head>`中用JavaScript添加`js-enabled`类来差异化样式,但感觉不够优雅。
  • 替代方案:结合`<noscript>`和`<style>`标签隐藏特定元素(如`.theme-toggle`、`.menu-trigger`)。
  • 优化方案:引入单一类名`.d-js-required`配合极简CSS隐藏所有依赖JavaScript的元素,降低维护成本。
  • 结论:此类创新方案能有效管理渐进增强策略,确保无论JavaScript是否可用都能提供流畅体验。