繁体   English   中英

javascript警报阻止页面加载

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM