javascript警报阻止页面加载

我的客户希望在进入网页时显示警告。

但是,警报会阻止进一步加载页面,直到单击“确定”,并且页面需要在显示警报时在后台加载。

一种解决方案是使用HTML和CSS使用自定义警报,但这并不能满足客户的需求。

是否有使用“核心javascript”或jQuery的解决方案,以便在显示警报时加载页面? 谢谢。

你应该通过setTimeout运行它:

setTimeout(function() { alert('hello world'); }, 1); 

此处显示: 是否存在不会暂停脚本的JavaScript警报?

编辑

请参阅@ FunKy在Firefox中解决方法的答案。 (非常有意思!)


简单的答案是否定的,这是不可能的!

原因是本机alert()对话框是UI阻止,javascript是单线程语言。

您必须使用自定义的对话框消息。

但是,如果在阻止UI之前完成了一些ajax请求,那么当alert()对话框关闭时,ajax响应将/应该可用。 因此,您仍然可以在显示警报之前发出一些ajax请求。

您可以使用自定义对话框而不是警告框(阻止页面加载)。 例如, Jquery UI Dialog易于使用(但有许多插件完全相同)。

页面加载完成时显示警报。 这里是jquery的一个例子

 $(function() { alert("foo"); });