【问题标题】:Why JavaScript dialogs (alert/prompt/confirm) are not widely used and not under active development?为什么 JavaScript 对话框(警报/提示/确认)没有被广泛使用,也没有得到积极的开发?
【发布时间】:2011-02-04 08:22:41
【问题描述】:

如果需要显示一些简单的确认弹出窗口,大多数开发人员宁愿安装 jQuery,为它找到一些对话框插件,给它皮肤,而不是放置一个衬里:

if(confirm("Are you sure?")) { ... }

使用alert() 显示错误消息被认为很便宜。

你能说出多少个使用prompt()的网站?

所以,问题是:

  1. 这些对话框是否有问题,因此应避免使用它们?是的,它们的功能和定制(非常)有限,但是当您不需要任何花哨的东西时,使用 js 对话框仍然是一种不好的做法吗?

  2. 为什么这些对话在过去 10 年(可能更长)没有任何改进,而且近期也没有计划?让原生 js 访问完全可定制的桌面级对话框不是很好吗?至少添加错误/警告/信息类型的对话框并添加自定义按钮标题的功能将是一个很大的帮助。

【问题讨论】:

标签: javascript dialog


【解决方案1】:

alert 显示一个模式对话框,该对话框有效地禁用浏览器 UI,直到它被关闭。大多数开发人员认为这是糟糕的设计,而大多数用户认为这很烦人。

我发现模态对话框的一个主要问题是它们不允许我打开新标签并在回复它们之前进行快速的 Google 搜索。

【讨论】:

  • 那么为什么没有人考虑为他们添加非模态选项?
  • 您可以使用许多基于 HTML 的替代方案。
  • 你提到的最后一件事也让我很恼火,但在今天的任何现代浏览器中似乎都不是问题。
  • @tjespe 那些日子
【解决方案2】:

在某些浏览器上,alerts() 可能会导致页面的选项卡突然抓住焦点。偶尔有用,主要是烦人。

【讨论】:

    【解决方案3】:

    我不使用提示、确认或警告的原因之一是它们冻结了所有其他浏览器 UI。它们不允许用户在不关闭对话框的情况下切换到另一个选项卡或执行任何其他操作。

    【讨论】:

      【解决方案4】:

      因为它们很丑陋,并且会突然弹出一个灰色框来破坏用户体验。最好有一个符合您网站主题和外观的 HTML 对话框

      哦,是的。它们是模态的。这会雪上加霜

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-01-21
        • 1970-01-01
        • 1970-01-01
        • 2021-02-09
        • 1970-01-01
        • 2023-03-02
        • 2022-01-01
        • 1970-01-01
        相关资源
        最近更新 更多