为什么require.js进入head标签内部

时间:2013-02-12 17:57:26

标签: javascript html requirejs

根据雅虎开发者网络等许多来源,javascript位于页面底部,因此网页内容将在加载javascript之前显示。在head标记中调用require.js会使浏览器在显示页面之前等待脚本完成加载吗?

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

3 个答案:

答案 0 :(得分:5)

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

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

对于基本的表示性JavaScript,通常可以将其包含在页面底部。

答案 1 :(得分:1)

答案是肯定的。对于head标签中的所有脚本,这是相同的。脚本块并行下载,浏览器在页面执行完毕后继续呈现页面。

答案 2 :(得分:0)

它取决于javascript文件的内容,何时将被执行。

e.g。

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

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