首页 web前端 js教程 讨论html与javascript在浏览器中的加载顺序问题_javascript技巧

讨论html与javascript在浏览器中的加载顺序问题_javascript技巧

May 16, 2016 pm 05:12 PM
html 浏览器

前一阵子横扫了javascript,当时自我感觉良好。现在一想,又觉得没什么。今天的任务是把asp.net ajax中客户端页面生命周期那一章研究完。然而,因为这一章的内容使我产生了一些迷惑。这些疑惑在书中都没有只字提及。

一、html页面的详细加载过程是什么呢?页面元素在加载时的优先级是什么?

二、javascript的作用域、变量的作用域、不同脚本段之间的关系?

三、html页面的生命周期?

这些问题真的打中了我的死穴。不了解这些,我就无法透过asp.net ajax的框架看到其底层原理。只知其然而不知其所以然。

在网上广泛查阅资料的情况下。获得了部分答案。

关于html的加载:

总体上,html的是按从上到下的顺序边加载边解析,边生成dom对象,至于在html中夹杂的:

document.write("xxxx");

之类的东西,它们的顺序是怎样的呢?还是一样,如果在解析html时,遇到这些东西就会停止解析,转而执行这些生成语句,如果中间插入外部链接,就转而解析、执行外部链接对应的js。对于以下语句对于不同浏览器存在不同的结果:

在ie中。不会等待aaa.js下载并解析完的,会创建另一线程搞定它,而主线程则越过去。但在ff中。则会等待,直到aaa.js下载、解析、执行完毕。

关于javascript的执行情况,请见本文后面所附的参考资料,里面有详尽的讨论。

关于html中页面的生命周期:

最重要的两个事件就是onLoad、onUnLoad。onLoad在页面加载完毕的时候触发。onUnLoad在页面的dom销毁完后触发。不过,onLoad有点特殊状况,也请参见本文后面所附的参考资料。一定要引起注意。

我看了几个站点的html源码,发现如下代码:

这是某网站在页面中显示广告的代码,国内网站,显示广告一般都是用iframe来引入第三方页面,这儿却是直接用javascript段来生成。后来,我又看了163博客生成的html代码,超变态啊。整个html代码只有一个架子,所有页面的生成都是通过js。我看到它的页面后面引入了几个js文件,最后在页面最后还有一个initAll函数的调用。我没有去仔细研究它的js代码,我怀疑它把所有表现层的功能全面放到客户端的js文件中去了。服务器端仅仅是很少的页面架子和许多的webservices。真是叹为观止啊。

关于一个事件触发多个响应函数:

我曾想过要自己实现一个c#中委托一样的东西。可以让javascript的事件不止是关联到一个function。可以一次触发一个事件列表。这几天研究asp.net ajax,里面对此有封装。

asp.net ajax中,可以把一个dom元素封装成asp.net ajax中的Sys.UI.DomElement对象。然后就可以用它的方法:addHandler()、addHandlers()、removeHander()来操作事件列表。真是方便啊。当时不大明白这个原理。今天看到后面参考资料中的两段代码让我彻底明白这中间的细节:

一、使用dom 2中的接口:

复制代码 代码如下:

if(document.addEventListener){
window.addEventListener('load',f,false);
window.addEventListener('load',f1,false);
……
}else{
window.attachEvent('onload',f);
window.attachEvent('onload',f1);
……
}

原来,dom中早有这个概念了。才晓得。看来,我对dom还是有许多不了解的地方啊。

二、这个方法就是纯手实现了。请参见下面代码:

复制代码 代码如下:

function addLoadEvent(func) {

   var oldonload = window.onload;

   if (typeof window.onload != 'function') {

window.onload = func;

   } else {

     window.onload = function() {

       if (oldonload) {

         oldonload();

       }

       func();

     }

   }

}


这个函数写得很巧妙。利用匿名函数搞定!
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1677
14
CakePHP 教程
1431
52
Laravel 教程
1334
25
PHP教程
1280
29
C# 教程
1257
24
ok交易所国内如何注册?ok交易平台大陆新手注册使用指南 ok交易所国内如何注册?ok交易平台大陆新手注册使用指南 May 08, 2025 pm 10:51 PM

在加密货币市场中,选择一个可靠的交易平台是至关重要的。OK交易平台作为全球知名的数字资产交易所,吸引了大量大陆新手用户。本指南将详细介绍如何在OK交易平台上进行注册和使用,帮助新手用户快速上手。

2025最安全交易所TOP5:黑U避坑指南,资金100%保命法则 2025最安全交易所TOP5:黑U避坑指南,资金100%保命法则 May 08, 2025 pm 08:27 PM

在加密货币交易领域,交易所的安全性始终是用户关注的重点。2025年,经过多年的发展和演变,一些交易所凭借其卓越的安全措施和用户体验脱颖而出。本文将详细介绍2025年最安全的五大交易所,并提供如何避开黑U(黑客攻击用户)的实用指南,确保您的资金100%安全。

币安Binance交易所安装、注册详细指南(2025最新步骤) 币安Binance交易所安装、注册详细指南(2025最新步骤) May 08, 2025 pm 11:06 PM

币安(Binance)是全球领先的加密货币交易平台之一,提供多种数字资产的交易服务。如果你正在考虑使用币安进行加密货币交易,本文将为你提供详细的安装和注册指南。

欧易ios官方网站入口 okx欧易官方网站苹果手机注册入口 欧易ios官方网站入口 okx欧易官方网站苹果手机注册入口 May 08, 2025 pm 11:09 PM

如果你是一位苹果手机用户,并且对加密货币交易感兴趣,那么你一定不能错过OKX欧易这个平台。OKX欧易作为全球领先的加密货币交易所之一,提供了多种数字资产的交易服务,涵盖了比特币、以太坊、莱特币等主流币种,同时还支持多种山寨币和新兴代币的交易。无论你是刚入门的投资者,还是经验丰富的交易者,OKX欧易都能够满足你的需求。下面我们将详细介绍如何通过苹果手机在OKX欧易官方网站上进行注

okx交易所入口 okx交易平台官网登录入口 okx交易所入口 okx交易平台官网登录入口 May 08, 2025 pm 11:15 PM

OKX 作为全球领先的加密货币交易平台,为用户提供了多样化的交易服务和安全的交易环境。自成立以来,OKX 凭借其强大的技术支持和丰富的交易产品,吸引了大量的用户和投资者。无论你是新手还是专业交易者,OKX 都能满足你的交易需求。

易欧官方网站入口 易欧交易所苹果入口官方进入 易欧官方网站入口 易欧交易所苹果入口官方进入 May 08, 2025 pm 11:12 PM

全球知名的数字货币交易平台,成立于2014年,致力于为用户提供安全、便捷的数字资产交易服务。作为一家国际化的交易所,易欧支持多种主流和小众数字货币的交易,吸引了来自世界各地的用户。无论是新手还是经验丰富的交易者,都可以在易欧平台上找到适合自己的交易工具和服务。

币安binance网页版入口 币安binance交易所网页版直接进 币安binance网页版入口 币安binance交易所网页版直接进 May 08, 2025 pm 11:03 PM

全球领先的加密货币交易平台,以其高效、安全和多样化的交易服务闻名于世。无论你是经验丰富的交易者还是初入加密货币市场的新手,币安Binance都能提供你所需的工具和资源。通过币安Binance网页版,用户可以轻松访问交易平台,无需下载任何应用程序,直接通过浏览器进行交易操作。本文将详细介绍如何进入币安Binance交易所网页版,并提供一些实用的交易技巧和注意事项。

okx官网链接 欧意okx交易官方网址 okx官网链接 欧意okx交易官方网址 May 08, 2025 pm 10:39 PM

OKX,原名欧易,是全球领先的加密货币交易平台之一,致力于为用户提供安全、高效、便捷的数字资产交易服务。作为一个成熟的交易平台,OKX不仅支持多种主流数字货币的交易,还提供包括期货、永续合约、杠杆交易等多种金融产品,满足不同用户的投资需求。OKX官网链接为用户提供了一个便捷的入口,通过访问官方网址,用户可以轻松地进行注册、登录、交易等操作。

See all articles