首页 > 解决方案 > 在 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!");

标签: javascriptalert

解决方案


将事件侦听器添加到窗口对象并在事件发生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>

或者向文档添加一个事件侦听器并延迟使用setTimeout0延迟事件处理程序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>


推荐阅读