在我的手机上,在safari中如果我转到我在身体onload事件上有alert("Hello")
的默认页面,则会显示警报,并在后台完全显示我的默认页面。如果我然后转到另一个站点,例如bbc.co.uk,然后在地址栏中键入我的默认页面的网址,则警报会在后台显示BBC内容,就像页面前的警报加载一样装了。
如何在整个页面可见后才显示消息。我已经读过window.onload
等待,直到所有内容都被加载才触发警报但我必须得到错误,因为行为不会改变。我也试过了:
$(document).ready(function () {
window.onload= alert('Test');
});
和
<meta http-equiv="Pragma" content="no-cache"/>
如果它与缓存有关,但我不认为这是问题。有什么想法吗?
由于
答案 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和世界其他地方略有不同答案 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>