在页面显示之前加载Javascript警报

时间:2012-09-05 11:37:16

标签: javascript html safari

在我的手机上,在safari中如果我转到我在身体onload事件上有alert("Hello")的默认页面,则会显示警报,并在后台完全显示我的默认页面。如果我然后转到另一个站点,例如bbc.co.uk,然后在地址栏中键入我的默认页面的网址,则警报会在后台显示BBC内容,就像页面前的警报加载一样装了。

如何在整个页面可见后才显示消息。我已经读过window.onload等待,直到所有内容都被加载才触发警报但我必须得到错误,因为行为不会改变。我也试过了:

$(document).ready(function () {
    window.onload= alert('Test');
});

<meta http-equiv="Pragma" content="no-cache"/>

如果它与缓存有关,但我不认为这是问题。有什么想法吗?

由于

4 个答案:

答案 0 :(得分:9)

您将对函数的引用传递给window.onload而不是实际的调用。

window.onload = function(){
 alert('test');
}

答案 1 :(得分:3)

如果你想显示alrert框,要么使用window.onload,这两个都没有用,这里的代码可以正常工作

window.onload (即使在旧浏览器中也会实现),在整个页面加载时会触发

 window.onload = function(){  alert('test'); } 

jQuery提供document.ready ,它将这些内容抽象出来,并在页面的DOM准备就绪后立即触发

$(document).ready(function () {     
 alert('Test');  
});

查看答案:window.onload vs $(document).ready()

window.onload是内置的Javascript事件,但由于它的实现在浏览器(FF / IE6 / IE8 / Opera)中有微妙的怪癖,jQuery提供了document.ready,它是摘要那些离开,并在页面的DOM准备就绪后立即触发(不等待图像等)。

document.ready是一个jQuery函数,为以下事件包装并提供一致性

  • document.ondomcontentready / document.ondomcontentloaded - 一个新的事件,在文档的DOM被加载时触发(可能是某些时间之前图像等被加载);再次,在IE和世界其他地方略有不同
  • 和window.onload(即使在旧浏览器中实现),在整个页面加载时触发(图像,样式等)

答案 2 :(得分:2)

$(window).load(function() {
      alert('Test');
});

答案 3 :(得分:-1)

<!DOCTYPE html>
<html>
<body onload="show_popup()">

<script>
function show_popup() {
    alert("Popup shows");
}
</script>

</body>
</html>