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"); });