[英]javascript alert block page loads
我的客户希望在进入网页时显示警告。
但是,警报会阻止进一步加载页面,直到单击“确定”,并且页面需要在显示警报时在后台加载。
一种解决方案是使用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");
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.