在JavaScript中,有没有比alert()更合适的弹窗函数?

In JavaScript, is there more proper function for information pop-up than alert()?

我想通过 javascript 信息弹出框通知用户 ajax 请求成功。

A​​lert 做我想做的事,但从语义的角度来看,它更多的是警告目的。

确认和提示也有不同的用途。

是否有比警报语义更合适的信息框?例如。类似于 MsgBox() ?

我使用的不是这个目的: http://ned.im/noty/

composer require needim/noty

bower install noty

你一定要试试 SweetAlert

语法与普通语法几乎相同 alert 但它看起来很棒并且具有更大的灵活性。

在 AJAX 请求中使用的示例:

swal({
    title: "Ajax request example",
    text: "Submit to run ajax request",
    type: "info",
    showCancelButton: true,
    closeOnConfirm: false,
    showLoaderOnConfirm: true,
},
function(){
    setTimeout(function(){
        swal("Ajax request finished!");
    }, 2000);
});

显示:

大多数时候,模态 window 当前页面内,而不是 window.alertwindow.confirm 被误用了很多浏览器倾向于阻止它们的次数。

您可以开发自己的组件,也可以使用来自众多 js/css 库之一的组件。

例如,您可以使用推特 bootstrap 的模态:http://getbootstrap.com/javascript/#modals 看起来像这样,但还有许多其他模态:

如果您不想打断用户在网络应用程序上的流程,您也可以在页面的一角使用简单的通知框。

一个例子是 https://notifyjs.com/,它看起来像这样:

Javascript 向用户提供语义消息是用词不当。消息应由 HTML 处理。

这里的其他人推荐 'message boxes' 的第三方解决方案,但 IMO 没有回答您的问题。除了alertconfirmprompt外,javascript没有语义信息弹出框。

警告框是浏览器环境的一部分,实际上是浏览器提供的window对象的一部分。为此 alert,prompt,confirm aren't even native to EcmaScript

因此,如果您想要一种语义方式来通知用户,那么您可以在 HTML 中使用语义标记,并通过 DOM 操作使用 javascript 显示内容,无论其自己写的或者其他人写的插件建议。