我想通过javascript信息弹出框告知用户有关成功的ajax请求的信息。
警报做我想要的,但从语义的角度来看,它有更多的警告目的。
确认和提示也是出于不同的目的。
是否存在语义上比警报更合适的信息框?例如。类似于MsgBox()
?
答案 0 :(得分:3)
向用户提供语义消息的Javascript是用词不当。消息应该由HTML处理。
其他人在这里推荐第三方解决方案用于消息框'但IMO没有回答你的问题。除了alert
,confirm
和prompt
之外,javascript中没有语义信息弹出框。
警告框是浏览器环境的一部分,实际上是浏览器提供的窗口对象的一部分。出于这个原因警报,提示,确认aren't even native to EcmaScript
因此,如果您想要一种语义方式来通知用户,那么您在HTML中使用语义标记,并通过DOM操作使用javascript显示内容,无论是由您自己编写还是使用其他人编写的插件建议。
答案 1 :(得分:2)
你一定要试试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);
});
节目:
答案 2 :(得分:1)
答案 3 :(得分:1)
大多数情况下,当前页面中的模式窗口 ,而不是window.alert
或window.confirm
被误用了很多次浏览器有阻止它们的倾向
你可以开发自己的,或者使用其中一个js / css库中的一个组件。
例如,你可以使用twitter bootstrap的模态:http://getbootstrap.com/javascript/#modals看起来像这样,但还有很多其他的:
如果您不想在Web应用上中断用户的流量,也可以在页面的一角使用简单的通知框。
一个例子是https://notifyjs.com/,如下所示: