您好,我的问题是关于网页是如何加载的!下面是我的代码:
<!DOCTYPE html>
<html>
<head>
<title>JavaScript</title>
</head>
<body>
<h1>Waiting</h1>
<script type="text/javascript">
alert("Why?");
</script>
</body>
</html>
在标题显示之前,我无论如何也搞不懂为什么要运行警报。据我所知,由于警告恰好在结束正文标记的上方,所以它将是最后一次运行。为什么页面在显示标题之前等待我关闭警报?
谢谢你的帮助!
编辑:我在firefox中运行这段代码,而不是在chrome中运行,它按照我想要的方式工作-在警报运行之前,标题首先显示出来。
发布于 2018-07-29 03:03:54
加载页面后,您需要执行脚本
<body onload="script();">
外部脚本将在页面加载之前执行。
<body onload="script();">
<h1>Waiting</h1>
<script type="text/javascript">
function script() {alert("Why?");}
</script>
</body>
发布于 2018-07-29 03:13:28
您可以使用setTimeout()
在几秒钟后(页面应该已经加载时)显示警报。
<!DOCTYPE html>
<html>
<head>
<title>JavaScript</title>
</head>
<body>
<h1>Waiting</h1>
<script type="text/javascript">
setTimeout(function(){
alert("Why?");
}, 1000);//wait 1000 milliseconds
</script>
</body>
</html>
您可以检查报头( h1
标记)是否存在,如果存在,则仅发出警报。
<!DOCTYPE html>
<html>
<head>
<title>JavaScript</title>
</head>
<body>
<h1 id="header">Waiting</h1>
<script type="text/javascript">
var x;
x = setInterval(function(){
if(document.getElementById("header")){
alert("Why?");
clearInterval(x);
}
}, 100);
</script>
</body>
</html>
发布于 2018-07-29 03:14:23
在不使用JQuery的情况下,我能编写的最简单的变通方法代码是这样的。请检查一下。
<!DOCTYPE html>
<html>
<head>
<title>JavaScript</title>
</head>
<body>
<h1>Waiting</h1>
<script type="text/javascript">
window.onload = function(){
setTimeout(()=>{
alert("Why?");
},10)
}
</script>
</body>
</html>
https://stackoverflow.com/questions/51574335
复制相似问题