DOM加载顺序

  1. 解析HTML结构。
  2. 加载外部脚本和样式表文件。
  3. 解析并执行脚本代码。
  4. 构造HTML DOM模型。
  5. 加载图片等外部文件。
  6. 页面加载完毕。
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Title</title>
    <style type="text/css">
        body
        {
            font-sie: 12px;
        }
    </style>
    <link href="style.css" rel="stylesheet" type="text/css" media="all" />
    <script src="js.js" type="text/javascript"></script>
</head>
<body>
    <div>
        <script type="text/javascript">
            function f1() { }
        </script>
        <img src="1.gif" />
    </div>
    <script type="text/javascript">
        function f2() { }
    </script>
</body>
</html>

html → head → title → #text(网页标题) → style → 加载样式 → 解析样式 → link → 加载外部样式表文件 → 解析外部样式表 → script → 加载外部脚本文件 → 解析外部脚本文件 → 执行外部脚本 → body → div → script → 加载脚本 → 解析脚本 → 执行脚本 → img → script → 加载脚本 → 解析脚本 → 执行脚本 → 加载外部图像文件 → 页面初始化完毕

JS加载包含预编译和执行两个阶段。 编译阶段会对所有的var变量和function进行扫描,并将var变量初始化为undefined类型,而function则被初始化为函数值。

到了执行阶段,JS从上面往下面依顺序执行,遇到var变量便进行赋值(因此,在赋值之前进行调用的话会出现错误).遇到函数变量的话会从活动对象中寻找函数

javascript在html中的加载顺序 : http://www.cnblogs.com/CBDoctor/p/3745246.html

时间: 2024-08-06 07:50:43

DOM加载顺序的相关文章

onload 事件、DOMContentLoaded事件、DOM加载顺序

1.onload 事件 定义与语法 onload事件会在页面或者图像加载完成后立即发生. 法:onload="SomeJavaScriptCode“: 参数:SomeJavaScriptCode    描述:必需.规定该事件发生时执行的 JavaScript. 支持该事件的 HTML 标签:<body>, <frame>, <frameset>, <iframe>, <img>, <link>, <script>

html DOM加载顺序

前几天遇到一个问题:load和ready 哪个先执行? 针对这个问题我自己研究学习了一下DOM文档的加载步骤: 1.首先浏览器会解析静态的html结构 比如 head body footer等html标签 2.当html结构加载完成我们需要渲染页面使其美观,因此此时需要加载 各种样式表文件. 3.然后再解析并执行js或者其他脚本代码. 4.构造html DOM对象,也就是 ready 操作 5.加载html和css中引用的外部资源文件. 6.页面加载完成(load操作),js进行一些事件的绑定和

javascript在html中的加载顺序

参考:[1]http://coolshell.cn/articles/9749.html(酷壳) [2]http://shaozhuqing.com/?p=2756 颜色标注分别来自于链接地址内容 通常来说,浏览器对于Javascript的运行有两大特性:1)载入后马上执行,2)执行时会阻塞页面后续的内容(包括页面的渲染.其它资源的下载).于是,如果有多个js文件被引入,那么对于浏览器来说,这些js文件被被串行地载入,并依次执行. 因为javascript可能会来操作HTML文档的DOM树,所以

Ckeditor 的加载顺序

我们的只用在文件里面引用一个CKEditor的js文件--CKEditor目录下的ckeditor.js文件, 该文件会完成后续的所有的CKEidtor依赖的js文件的加载. 所依赖的js文件加载顺序如下 <script src="/Scripts/CKEditor/CKEditor.js"></script> <script src="http://localhost:9673/Scripts/CKEditor/core/loader.js&q

html css js加载顺序

1.js放在head中会立即执行,阻塞后续的资源下载与执行.因为js有可能会修改dom,如果不阻塞后续的资源下载,dom的操作顺序不可控. 正常的网页加载流程是这样的. 浏览器一边下载HTML网页,一边开始解析 解析过程中,发现<script>标签 暂停解析,网页渲染的控制权转交给JavaScript引擎 如果<script>标签引用了外部脚本,就下载该脚本,否则就直接执行 执行完毕,控制权交还渲染引擎,恢复往下解析HTML网页 如果外部脚本加载时间很长(比如一直无法完成下载),就

DOM加载:浏览器渲染和操作顺序(转载 学习中。。。)

DOM加载:浏览器渲染和操作顺序 1.HTML解析完毕 2.外部脚本和样式表加载完毕 3.脚本在文档内解析并执行 4.HTML DOM完全构造起来 5.图片和外部内容加载 6.网页完成加载 基于这个顺序,我们会发现如果在DOM完全加载之前使用DOM可能会发生错误(这个可能是很多初学者曾遇到的问题),而如果用onload加载函数又必须等待图片.视频等元素的加载,造成无法运行JavaScript.

easyui控件的加载顺序

使用easyui做布局时,会模仿窗口程序界面,做出一些较复杂的布局.按由外层到内层的顺序: (最外层)panel->tabs->tabs1 ->tabs2->layout->北区 ->中区-> panel多个...(最里层) ->西区 开始没注意控件的加载顺序,只是将同一种控件统一加载了结果最里层的panel尺寸超出父容器. 一时想不明白,后来忽感觉到easyui会在加载控件时计算它的尺寸, 如果先加载了内层的panel再加载它的父容器控件,则一定尺寸不对.

原生JS实现AJAX、JSONP及DOM加载完成事件

一.JS原生Ajax ajax:一种请求数据的方式,不需要刷新整个页面:ajax的技术核心是 XMLHttpRequest 对象:ajax 请求过程:创建 XMLHttpRequest 对象.连接服务器.发送请求.接收响应数据: 下面简单封装一个函数,之后稍作解释 ajax({ url: "./TestXHR.aspx", //请求地址 type: "POST", //请求方式 data: { name: "super", age: 20 },

HTML加载顺序总结测试

首先,页面加载顺序:解析HTML结构.加载外部脚本和样式表文件.解析并执行脚本代码.构造HTML DOM模型.加载图片等外部文件.页面加载完毕. 也就是:html → head → title → #text(网页标题) → style → 加载样式 → 解析样式 → link → 加载外部样式表文件 → 解析外部样式表 → script → 加载外部脚本文件 → 解析外部脚本文件 → 执行外部脚本 → body → div → script → 加载脚本 → 解析脚本 → 执行脚本 → img