javascript - 在 Chrome 中,警报在执行弹出窗口之前不会显示 HTML
问题描述
我刚开始学习 JavaScript,但我遇到了警报问题。在 Chrome 中,警报在执行弹出窗口之前不会显示 HTML。
索引.html
<!DOCTYPE html>
<html>
<head>
<title>JavaScript</title>
</head>
<body>
<h1>JavaScript in HTML</h1>
<script type="text/javascript" src="script.js"></script>
</body>
</html>
脚本.js
alert("Helo!");
解决方案
将事件侦听器添加到窗口对象并在事件发生alert
时在事件处理程序中调用load
:
window.addEventListener('load', function() {
alert('Helo!');
})
<!DOCTYPE html>
<html>
<head>
<title>JavaScript</title>
</head>
<body>
<h1>JavaScript in HTML</h1>
<script>
window.addEventListener('load', function () {
alert('Helo!');
})
</script>
</body>
</html>
或者向文档添加一个事件侦听器并延迟使用setTimeout
以0
延迟事件处理程序alert
中的执行:DOMContentLoaded
document.addEventListener('DOMContentLoaded', function() {
setTimeout(function() {
alert('Helo!');
}, 0);
});
<!DOCTYPE html>
<html>
<head>
<title>JavaScript</title>
</head>
<body>
<h1>JavaScript in HTML</h1>
<script>
document.addEventListener('DOMContentLoaded', function() {
setTimeout(function() {
alert('Helo!');
}, 0);
});
</script>
</body>
</html>
推荐阅读
- kubernetes - 如何在 kubernetes 中查看 CrashLoopBackOff 日志
- javascript - Target HTML tag using CSS based on specific value
- vue.js - Vue.js 自定义指令:$refs 为空
- entity-framework - 此函数只能从 LINQ to Entities 调用。我该如何解决这个问题?
- python-3.x - 在 Pandas UDF PySpark 中传递多列
- string - .trim / -trim、.replace / -replace、.split / -split 和其他字符串运算符的获取帮助
- python - 将轴尺寸约束到另一个轴的尺寸
- shell - 将 file1 的索引表示法与 file2 的索引匹配并提取匹配的行
- sonarqube-scan - 将 sonarqube 扫描器配置为在云源存储库上作为云构建中的一个步骤运行
- pycharm - PyCharm - 在调试器中将“显示为十六进制”设置为默认值