惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

P
Proofpoint News Feed
V
V2EX
WordPress大学
WordPress大学
Google DeepMind News
Google DeepMind News
Martin Fowler
Martin Fowler
小众软件
小众软件
Blog — PlanetScale
Blog — PlanetScale
月光博客
月光博客
The Cloudflare Blog
T
Tailwind CSS Blog
H
Help Net Security
腾讯CDC
爱范儿
爱范儿
人人都是产品经理
人人都是产品经理
H
Hackread – Cybersecurity News, Data Breaches, AI and More
The GitHub Blog
The GitHub Blog
Microsoft Security Blog
Microsoft Security Blog
Stack Overflow Blog
Stack Overflow Blog
D
DataBreaches.Net
C
Check Point Blog
量子位
酷 壳 – CoolShell
酷 壳 – CoolShell
美团技术团队
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com

Web Dev

没想到 2026 年,还要浪费大量时间在跨域问题上 关于 webview 移动应用开发的一些疑惑,求解答 浏览器访问一个域名不通的情况下,如何让这个域名再次发起 dns 请求 用 socks5 代理无法返回正常网页内容 Datastar 未来有机会代替 React 吗? nb 了, chrome mobile 文件上传还存在问题啊,不能同时允许多种 accept ,页面会触发刷新 请教下大佬们有无移动端 app 上 h5 页面休眠/内存优化思路 想问问现在大家工作/业务上都用上 http3 了吗? 如何截断 http 请求 v2 的新回复展示 是如何推送的? 有没一种可以将 http/socks 代理转 http 协议的东西? 关于 Https 证书验证问题 想找静态网页托管服务,无需域名 如何拼凑不同网页的不同部分到一个网页 特别快速开发网页程序的方法? shopify 怎么切换 identity provider 还有人在使用 ASP 吗? 看到一个项目, H5 页面使用 ip 部署,确定没有 ssl,为啥从微信打开还是能调用摄像头? 求推荐开源的工业领域电商项目 纯编程小白,用 ds 做了个网站碰到阿里云部署问题,寻求耐心指导 请问一下,各位是使用哪些统计平台呢?使用 uniapp 开发的 APP,相对用户进行记录与统计。 API 请求体字段定义询问各位大佬。 网络请求 ERR_CONNECTION_ABORTED,问题求助 什么样的网站算设计精良的 应不应该把主键 id 暴露在 url 上? 前端项目部署到服务器,怎么调通访问服务器上的内网 IP 接口 本地开发用什么域名? c++ go rust 谁更适合开发 嵌入式 Linux 上的 web 后台服务 求知 大佬们 一定帮我解答下 感谢 Fastapi 框架中的模板引擎 jinja2 是否已过时,或者说是否还建议使用 推荐一个 web 开发小工具,检测页面是否可以 iframe, 网址 https://iframetester.dev/
网站中使用原生 dialog 优化用户体验
wen20 · 2024-06-13 · via Web Dev

原生 dialog 说明

网站最近上了一批用户, 为优化用户体验,决定用 AJAX + modal 窗口优化交互。 找到 JQuery modal 插件发现已放弃维护,建议使用 dialog , 才知 html 有了原生 dialog ,学习吧。

项目

早知 121 , 轻松创建个人导航站。 网站地址 : https://www.zz121.com

dialog 使用场景

移动 url 分组时,弹出窗口, 选择分组, “确定” 保存内容,关闭弹出窗口。
点击 “取消” 关闭弹出窗口。

使用 dialog 效果展示

dialog demo

dialog demo

代码实现

dialog 标签内包含 html 代码 dialog 可以像 其他 html 标签 一样,设置 ID 属性

注意 form method="dialog" , "确定" 和 "取消" 触发关闭弹出窗 。

<dialog id="moveDialog">
    <form method="dialog" style="margin: 10px;">
        <div>
            <label>
                移动-选择分组<br/>
                <select name="class_id" id="class_id" style="margin: 10px;">
                    <option value="0">请选择分组</option>
                    {{range .ClassApiSrv.OptionsByUId .UserId}}
                    <option value="{{.Id}}"> {{.Title}}</option>
                    {{end}}
                </select>
            </label>
        </div>
        <div style="display: flex; flex-direction: row-reverse;">
            <button onclick="moveSave()" class="btn btn-info">确定</button> &nbsp;
            <button class="btn btn-gray" >取消</button>
        </div>

    </form>
</dialog>


// 只展示关键代码

// dialog 显示
const favDialog = document.getElementById("moveDialog");
favDialog.showModal()

// 获取 dialog 内表单数据, 和其他 element 一样的获取方式
let class_id = $("#class_id").val()

最简单的用法,就满足我的需求, 此外还可以设置背景色,背景图,显示位置等,详见官方文档。

dialog 官方文档地址

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dialog

其他

我不是专业前端人员,感觉基于 dialog, template, web component 的前端框架应该会是一个好用的框架。 如果有哪个前端框架包含这些元素,评论区告诉我,感谢。