gpt4 book ai didi

javascript - 无法在 Javascript 之前加载 HTML

转载 作者:太空狗 更新时间:2023-10-29 15:53:06 25 4
gpt4 key购买 nike

我是 Javascript 新手,知道如何在执行 javascript 之前加载 html。

我确实检查了 stackoverflow 上的问题并尝试实现给出的解决方案但没有奏效。

以下是我试过的各种代码的代码。

  1. 在正文结束前写脚本标签

  2. 在一个函数中编写了 javascript 代码,并在 body 的 onload 中调用它,但它也不起作用。 (也试过评论documnet.onload = cal();并执行)。

<!DOCTYPE html>
<html>
<head>
<title>Age Calculator</title>

</head>
<body onload="cal();">
<h1>Age Calculator</h1>
<p>Enter your age and find how many days you have been alive</p>
<script type="text/javascript" src="Age.js"></script>
</body>
</html>
//Javascript code
function cal(){
var age = prompt("How old are you?");
var days = age * 365.25;
alert("You are approx " + days + " days");
}

documnet.onload = cal();

我希望在询问用户你几岁之前显示 html?

最佳答案

问题是 prompt 和 alert 之类的类似功能 block 浏览器 - 它们会阻止呈现,直到弹出框被提交或取消。

<h1>Age Calculator</h1>
<p>Enter your age and find how many days you have been alive</p>
<script>
var age = prompt("How old are you?");
</script>

如果你想确保 HTML 在 prompt 出现之前显示,你可以使用 setTimeout,让浏览器有机会在 之前绘制 HTML >prompt 被调用:

<h1>Age Calculator</h1>
<p>Enter your age and find how many days you have been alive</p>
<script>
setTimeout(() => {
var age = prompt("How old are you?");
});
</script>

但更好的解决方案是使用适当的模式,例如带有 submit 按钮的输入框,它不会阻塞浏览器。 (最好永远不要使用 alertpromptconfirm,如果可能的话)

关于javascript - 无法在 Javascript 之前加载 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53953572/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com