【发布时间】:2018-11-05 06:56:22
【问题描述】:
我正在学习 Javascript,我很困惑为什么我在使用 Chrome 时在 html 之前加载我的 javascript 时遇到问题。当我使用 Firefox 和 Edge 时,页面首先加载 html,然后我收到警报。不过,当我使用 Chrome 时,我会先收到警报,而背景只是空白。到目前为止我学到的一切似乎都在说 js 脚本应该在 html 之后运行,因为它位于 body 标记的底部。
谢谢!
home.html 页面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<h1>Hi, testing chrome.</h1>
<h2>Is this working?</h2>
<ul>
<li>list1</li>
<li>list 2</li>
<li>list 3</li>
</ul>
<script type="text/javascript" src="myjs.js"></script>
</body>
</html>
myjs.js 页面
alert("Am I working right?");
【问题讨论】:
-
尝试在文档就绪方法中添加您的代码
-
注意 html 确实加载了,你只是阻塞了渲染线程。从外观上看,Firefox 和 Edge 决定在显示警告框之前对到目前为止加载的 DOM 进行渲染循环,而 Chrome 则没有。这正是每个供应商决定实施其特定代码的方式。您仍然可以获取对已加载 DOM 元素的引用,例如
<ul>
标签: javascript html google-chrome