9

根据 Yahoo Developer Network 等许多来源,javascript 位于页面底部,因此网页内容将在加载 javascript 之前显示。在 head 标签中调用 require.js 是否会使浏览器在显示页面之前等待脚本完成加载?

<head>
<title>My Sample Project</title>
<script data-main="scripts/main" src="scripts/require.js"></script>
</head> 
4

3 回答 3

5

答案有点复杂;它可以进入您的页面<head><body>页面,具体取决于require.js. 某些操作在逻辑上需要在内容加载之前发生,但大多数事情都乐于等待。

在页面加载之前需要发生的事情的一个例子是css预处理器LESS,这显然需要在<head>(实际上这可能应该被预编译并用作静态css,但它是一个很好的例子) - 另一个例子是 JavaScript 模板系统或某种客户端 MVC 系统,如ember.js

对于基本的展示性 JavaScript,通常将其包含在页面底部是安全的。

于 2013-02-13T01:18:47.473 回答
1

答案是肯定的。对于 head 标签中的所有脚本,这都是一样的。脚本块并行下载,一旦完成执行,浏览器将继续呈现页面。

于 2013-02-12T22:16:25.090 回答
0

这取决于 javascript 文件的内容,何时执行。

例如

<script>
  function load() {
    alert("load event!");
  }
  window.onload = load;
</script>

页面加载后将显示消息框。

于 2013-02-12T22:26:31.570 回答