我的客户希望在进入网页时显示警报。
但是,在单击“确定”之前,警报会阻止页面的进一步加载,并且页面需要在显示警报时在后台加载。
一种解决方案是使用 HTML 和 CSS 的自定义警报,但这并不能满足客户的需求。
是否有使用“核心 javascript”或 jQuery 的解决方案来允许页面在显示警报时加载?谢谢。
我的客户希望在进入网页时显示警报。
但是,在单击“确定”之前,警报会阻止页面的进一步加载,并且页面需要在显示警报时在后台加载。
一种解决方案是使用 HTML 和 CSS 的自定义警报,但这并不能满足客户的需求。
是否有使用“核心 javascript”或 jQuery 的解决方案来允许页面在显示警报时加载?谢谢。
您应该通过 setTimeout 运行它:
setTimeout(function() { alert('hello world'); }, 1);
编辑
有关 Firefox 中的解决方法,请参阅@FunKy 的答案。(非常有意思!)
简单的答案是否定的,这是不可能的!
原因是本机alert()
对话框是 UI 阻塞和 javascript 是单线程语言。
您必须使用自定义的对话消息。
但是,如果在阻塞 UI 之前完成了一些 ajax 请求,当alert()
对话框关闭时,ajax 响应将/应该可用。因此,您仍然可以在显示警报之前发出一些 ajax 请求。
您可以使用自定义对话框而不是警告框(阻止页面加载)。例如,Jquery UI Dialog很容易使用(但是有很多插件可以做同样的事情)。