码迷,mamicode.com
首页 > Web开发 > 详细

浅谈网页运行原理

时间:2014-08-26 22:49:46      阅读:259      评论:0      收藏:0      [点我收藏+]

标签:java   文件   代码   sp   on   javascript   ad   c   window   

  我们知道打开一个网页的时候,浏览器会首先创建一个窗口,这个窗口就是一个window对象,也是javascript运行所依附的全局环境对象和全局作用域对象。

  为了加载网页文档,当期的窗口将为要打开的网页创建一个document对象,然后将页面加载到这个document中,网页的内容就是在这这个过程中一边加载一边显示出来,javascript也是伴随着这个过程,一边加载一边执行的。

  进行加载和执行的目的,就是建立文档对象模型(DOM)主框架,这个文档框架是由当前文档窗口的主线程来执行,并依照严格的顺序执行。

      浏览器中会有多少线程可以同时加载网页内容呢。Web标准有一个限制就是对同一个域名最多只允许两个连接来读取内容,大多浏览器都遵循这一标准。

       对于外部js文件的加载,有一种所谓的异步加载js文件技术。其基本原理就是在当前   被加载执行的js代码中,想document对象动态的一次添加对个<script>标签来引入要加载的多个js文件。这时浏览器在解析和处理动态添加的标签时,将开启相应的线程和连接去加载这些外部的js文件,这只是实现了异步加载,而非js代码实现异步执行,(不同浏览器对这种动态引入的技术执行顺序是不同的)。

       当页面的主框架加载和执行完毕,浏览器才开始执行和=触发window对象或body对象的onload事件,在极少数的情况下网页如果么有body对象,浏览器在网页记载完毕之后自动创建一个body对象,并将设置成document的body属性。

       由于一个浏览器在打开多个网页的时候,所有的javascript占用都是同一个线程,我们在给网页编写脚本时,就不能太自私的编写大量耗时的代码。你得考虑用户在打开页面的同时也有可能浏览其他页面。

浅谈网页运行原理

标签:java   文件   代码   sp   on   javascript   ad   c   window   

原文地址:http://www.cnblogs.com/poisonMan/p/3938312.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!