dialog需手动调用showmodal()激活、用localstorage持久化用户选择、表单设method="dialog"防刷新,并用polyfill兼容旧浏览器。

dialog 标签本身不自动弹出、不自动记住用户选择、也不处理表单提交逻辑——你得自己补全这三块,否则协议弹窗只是个“摆设”。
将调研报告、方案对比、数据分析、需求梳理、会议纪要、设计说明、代码评审、学习笔记等任务产物输出为可在浏览器直接打开的单文件 HTML,替代 Markdown 作为最终交付物。Markdown 在信息密度、视觉清晰度和可分享性上已跟不上 AI 产物的丰富度,HTML 能同时承载排版、表格、SVG 等。
dialog 不显示?必须调用 showModal() 且确保 DOM 就绪
写了 <dialog id="agreement-dialog"></dialog> 却完全看不到,不是 CSS 问题,是它压根没被激活。原生 dialog 默认不渲染、不占布局、getBoundingClientRect() 返回空值。
- 只加
open属性(如<dialog open></dialog>)能让内容可见,但无遮罩、不锁焦点、不响应 Esc,不是真正模态框 - 必须用
dialog.showModal()才触发完整模态行为;show()几乎不用,它不加 backdrop,Tab 键可穿透到背景页 - 脚本执行早于 DOM 加载会报
Cannot read property 'showModal' of null:把 JS 放在
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










