2013-06-04 183 views
8

我的客户希望在进入网页时显示警报。javascript警报阻止页面加载

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

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

是否有解决方案使用'核心JavaScript'或jQuery允许加载页面时显示警报? 谢谢。

+0

为什么不等待页面加载显示警报? – FLX

+0

我明白了...所以你可以做一个自定义提醒看起来完全一样的本地警报:) – FLX

回答

3

编辑

看到@时髦的答案在Firefox中的解决方法。 (真的很有趣!)


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

原因是原生的alert()对话框是UI阻塞,JavaScript是单线程语言。

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

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

+0

见下 – nadavge

+0

@FunKy没有我的意见,我看不出这是怎么工作的。 Webworkers可能是一个解决方案,但它还没有真正实施 –

+0

它的工作原理,但我没有听说过网络工作者,直到现在。看起来很有希望。 – nadavge

0

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

0

当页面加载完成时显示警报。这里以jquery为例

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

他希望在页面仍在加载时显示它。 – nadavge