优化html代码加快网页加载速度

     web开发人员是否必须掌握复杂的组件技术才能加快html页面的访问速度?答案是:不一定!实际上,有许多关于HTML与DHTML方面的技巧,它们原理简单而且上手容易。无论是技术高超的老手,还是初涉编程的菜鸟,领会这些都十分必要。

     明显HTML,暗渡“公用脚本”

     减少web页面下载时间的关键就是设法减小文件大小。当多个页面共用一些成分内容时,就可以考虑将这些公用部分单独分离出来。比如:我们可以将多个HTML页面都用到的脚本程序编写成独立存在的.js文件,然后再在页面中按如下方式调用它:

    

     这样,公用文件只需要下载一次,然后就进入缓冲区。等下次再次调用包含公用文件的html页面时,下载时间明显减少。

     让样式表内容进入地下工作

     CSS是HTML装扮器,一个漂亮的Web页面不可能没有它。HTML页面中有多种引用CSS的方法,不同的方法导致的效率也不一样。通常,我们可以将定义于间的样式控制代码提取出来,保存到单独的.css文件中,然后在HTML页面中以标记或者@import标记的方式进行引用:

    

@import url(“mysheet1.css”);

 

     请注意2点:1、.css文件中无需包括标记;2、@import和LINK标记要定义在HTML页面的HEAD部分。

宝贵内存节省两法

尽量减少HTML页面占用的内存空间是加快页面下载速度的一个有效方法。在这方面,有2个需要注意的问题:

1、使用同一种脚本语言

HTML页面离不开脚本程序的支持,我们经常会在页面中嵌入多种脚本语言,比如JavaScript与VBScript。但是,不知你发觉没有:这样的混合使用减慢了页面的访问速度。原因在于:要解释并运行多种脚本代码,就必须在内存中装载多种脚本引擎。所以,请尽量在页面中使用同一种脚本语言编写代码。

2、巧用IFrame

你使用过标记吗?它可是一个非常美妙的功能。如果要在一个HTML文档中包含第2个页面的内容,通常的方法是使用标记。但是有了,一切变得简单了。比如,开发一个文档预览页面,可以在左边放置一系列主题,在右边放置一个IFRAME,其中包含要预览的文档;当鼠标掠过左边的每一个主题链接时,就在右边建立一个新的IFRAME以预览文档。这样做,代码效率无疑是高效的,但同时导致了繁重的处理过程,最终是缓慢的速度。

没关系,我们有办法:只使用单一的IFRAME。当鼠标指向一个新主题时,只需要修改IFRAME元素的SRC属性即可。这样,任何时间内只会有一个预览文档保留在内存。

择优选用动画定位属性

每天上网浏览页面,你一定会看到许多动画效果。比如,一个可爱的小兔子在页面上来回地走动 … 实现这个效果的核心技术就是CCS定位。通常,我们是使用element.style.left和element.style.top2个属性来达到图形定位的目的。但是,这样做会产生一些问题:left属性返回一个字符串,并且其中包含了度量单位(比如100px)。因此,要设定新的位置坐标,就必须首先对这个字符串返回值进行处理,然后才能赋值,象下面一样:

dim stringLeft, intLeft

stringLeft = element.style.left

intLeft = parseInt(stringLeft)

intLeft = intLeft + 10

element.style.left = intLeft;

你一定会感觉做这么点事情竟要编写这么复杂的代码,是否有更简洁的方法?当然有!请看这4个属性:posLeft、posTop、posWidth 和 posHeight,它们对应于相应字符串返回值的点数数值。好了,使用这些属性重新编写代码实现上面代码实现的功能:

element.style.posLeft += 10

代码短小、速度却更快!

循环控制多个动画

说到制作动画效果,当然离不开定时器的运用。通常的方法就是使用window.setTimeout来不断地定位页面上的元素。但是,如果页面上有多个动画要显示,是不是就要设定多个定时器呢?答案是No!原因很简单:定时器功能将消耗掉大量宝贵的系统资源。可是我们仍能在页面上控制多个动画,技巧就是使用一个循环。在循环中根据不同的变量值控制相应动画的位置,整个循环中只使用一个window.setTimeout()函数调用。

Visibility快于Display

让图画时隐时现会创造很有趣的效果,有2种方法可以实现这个目的:使用CSS的visibility属性或者display属性。对于绝对位置元素,diaplay和visibility具有同样的效果。两者的区别在于:设置为display:none的元素将不再占用文档流的空间,而设置为visibility:hidden的元素仍然保留原位置。

但是如果要处理绝对位置的元素,使用visibility会更快。

从小处着手

编写DHTML网页的一个重要提示是:从小处着手。初次编写DHTML页面时,一定不要试图在页面中使用你了解到的全部DHTML功能。每次可以只使用一个单一的新特征,并且仔细地观察由此产生的变化。如果发现性能有所下降,就可以快速地找到为什么。

脚本的DEFER化

DEFER是脚本程序强大功能中的一个“无名英雄”。你可能从没有使用过它,但是看完这里的介绍后,相信你就离不开它。它告诉浏览器Script段包含了无需立即执行的代码,并且,与SRC属性联合使用,它还可以使这些脚本在后台被下载,前台的内容则正常显示给用户。

最后请注意两点:

1、不要在defer型的脚本程序段中调用document.write命令,因为document.write将产生直接输出效果。

2、而且,不要在defer型脚本程序段中包括任何立即执行脚本要使用的全局变量或者函数。

保持同一URL的大小写一致性

我们都知道UNIX服务器是大小写敏感的,但是你知道吗:Internet Explorer的缓冲区也是区别对待大小写字符串的。因此,作为web开发者,一定要记住保持相同链接的URL字符串在不同位置的大小写的一致性。否则,就会在浏览器的缓冲区中存放同一位置的不同文件备份,也增加了下载同一位置内容的请求次数。这些都无疑降低了web访问效率。所以请谨记:同一位置的URL,在不同页面中请保持URL字符串的大小写一致性。

让标记有始有终

自己编写或者查看他人的HTML代码时,我们一定都遇到过标记有头无尾的情况。比如:

  

有头无尾标记举例

  • 第一个
  • 第二个
  • 第三个

很明显,上面的代码中缺少三个结束标记。但是这并不妨碍它的正确执行。在HTML中,这样的标记还有一些,例如FRAME、IMG和P。

可是请不要偷懒,请将结束标记写完整,这样做不仅使HTML代码格式规范,更可以加速页面的显示速度。因为Internet Explorer将不会花费时间判断和计算段落或者列表项目在哪里结束。

 

有头有尾标记举例

  • 第一个
  • 第二个
  • 第三个

OK,以上列举了有关加速HTML页面的10个处理技巧,描述这些很简单,但是只有真正领会并掌握其中的本质,并且举一反三,才会编写出更快、更好的程序。

<!–

–>

以上就是优化html代码加快网页加载速度的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1544930.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月21日 16:21:49
下一篇 2025年12月20日 08:56:05

相关推荐

  • HTML中的文件包含

            在论坛中常常有网友问到,可以在一个html的文件当中读取另一个html文件的内容吗?答案是确定的,而且方法不只一种,在以前我只会使用iframe来引用,后来发现了另外的几种方法,那今天就总结这几种方法让大家参考一下,本人觉得第三种方式较好!         1.iframe引入,看看…

    好文分享 2025年12月21日
    000
  • HTML中增强标记的用法总结

    近年来,超文本标识语言(HTML)得到了迅速拓展。为满足更多的需要,它增加了许多扩展功能。设计新颖、吸引人的网页已经越来越依赖java applet(小程序)、内嵌脚本、图文框、插件和其它扩展的HTML功能。这些扩展的HTML功能不仅可以对文本作进一步的格式化,而且可以嵌入程序、动画和其它交互式操作…

    好文分享 2025年12月21日
    000
  • html中不常用的标签总结

    介绍几个不常用的html标签 在HTML王国里,这里有很多子民,通常我们看到的是一些熟悉的面孔,而对于那些不熟悉的面孔你又了解多少呢,你知道它们的用法吗? 0、 标签 标签出现在HTML文档第一行上的信息,说明该文档的类型,是一个“标准概括化置标语言(SGML)”声明,不是元素。语法: 例子: 1、…

    好文分享 2025年12月21日
    000
  • 淘宝网店轮播图片html代码整理及局部调整

    本文由创想鸟提供,介绍淘宝网店轮播图片html代码整理及局部调整。  1.主代码 < > @@##@@ @@##@@ @@##@@ @@##@@ @@##@@ @@##@@ @@##@@ @@##@@ @@##@@ @@##@@ 1.修改左箭头 < @@##@@  2.修改右箭头:…

    好文分享 2025年12月21日
    000
  • 布尔教育_燕十八_HTML视频资源课件

    《布尔教育_燕十八_html教程》从最基本的概念开始讲起,步步深入,带领大家学习html、css样式基础知识,了解各种常用标签的意义以及基本用法,后半部分讲解css样式代码添加,为后面的案例课程打下基础。 课程播放地址:http://www.php.cn/course/222.html 该老师讲课风…

    2025年12月21日 好文分享
    000
  • 传智播客2017版3天带你玩转HTML视频资料(源码、课件)分享

    《传智播客2017版3天带你玩转html视频教程》是2017年最新的视频教程,教程步步深入,带领大家学习html知识,了解各种常用标签的意义以及基本用法,为后面的案例课程打下基础。 课程播放地址:http://www.php.cn/course/574.html 该老师讲课风格: 教师讲课深入浅出,…

    2025年12月21日
    000
  • html中标签之关于创建图像映射详解

    初级前端一枚  下面代码是在图片上创建图像映射  自己整理了下 做个笔记 希望也可以帮助后来学习的朋友! 该段代码中的shape指的是点击区域的形状,coords指的应该是链接区域在图片中的坐标(像素为单位)。 shape1、rect    矩形       2、circle   圆形      3…

    好文分享 2025年12月21日
    000
  • HTML基本语法和语义用法规则讲解

    本文对html基本语法和语义进行了整理与实例,需要的朋友可以参考下 DOCTYPE DOCTYPE(Document Type) 该声明位于文档中最前面的位置,处于html标签之前,此标签告知浏览器文档使用哪种HTML或者 XHTML规范。 DTD(Document Type Definition)…

    好文分享 2025年12月21日
    000
  • 有关HTML文档中meta用法总结

      meta是用来在html文档中模拟http协议的响应头报文,用于网页的 与中,其属性有两种:name和http-equiv。name属性主要用于描述网页,对应于content(网页内容),以便于搜索引擎机器人查找、分类(目前几乎所有的搜索引擎都使用网上机器人自动查找meta值来给网页分类)。这其…

    好文分享 2025年12月21日
    000
  • 对比html和xhtml的不同点

      1、什么是是xhtml?   HTML是一种基本的WEB网页设计语言,XHTML是一个基于XML的置标语言,看起来与HTML有些相象,只有一些小的但重要的区别,XHTML就是一个扮演着类似HTML的角色的XML,所以,本质上说,XHTML是一个过渡技术,结合了XML(有几分)的强大功能及HTML…

    好文分享 2025年12月21日
    000
  • html中关于a标签href属性中的一个很少人知道的坑

         由于公司需要,小菜最近在搞app web开发,目前只有ios和android版本,虽然仅此两个版本,但是依然要考虑浏览器兼容性问题,因为android和ios默认浏览器内核是不一样的。      先说说兼容性问题是什么。假如有这样一个URL: http://www.kpdown.com/s…

    好文分享 2025年12月21日
    000
  • html中a标签的href和onclick具体介绍

    我以前在写的href和onclick一直很随意,后来出过几次问题,以后才开始重视这个问题: 首先摘录一篇文档: 在Javascript中void是一个操作符,该操作符指定要计算一个表达式但是不返回值。 void 操作符用法格式如下: 1. javascript:void (expression) 2…

    好文分享 2025年12月21日
    000
  • html中关于a标签的onclick以及href的执行顺序详解

    onclick的事件被先执行,其次是href中定义的(页面跳转或者javascript) 同时存在两个定义的时候(onclick与href都定义了),如果想阻止href的动作,在onclick必须加上return false; 一般是这样写onclick=”xxx();return fa…

    好文分享 2025年12月21日
    000
  • html中关于a标签href和onclick的用法区别以及优先级别的示例详解

    我以前在写的href和onclick一直很随意,后来出过几次问题,以后才开始重视这个问题: 首先摘录一篇文档: 在Javascript中void是一个操作符,该操作符指定要计算一个表达式但是不返回值。 void 操作符用法格式如下:  1. javascript:void (expression) …

    2025年12月21日
    000
  • html中绑定点击事件的几种方法介绍

    html中为button绑定事件的方式有三种。 例如以下标签: submit 一、使用jquery进行绑定 $(‘#btn_submit’).click(function(){}); 二、使用原生js绑定,(注意:Internet Explorer 8 及更早IE版本不支持 addEventList…

    好文分享 2025年12月21日
    000
  • html中关于Button.onclick的事件总结分享

    html中关于button.onclick的事件总结分享 关于web设计中的命名标准 #page#header #logo #sm (servicemenu) .regsiter .login #nav .menu .subMenu .search .sreachbtn(搜索按钮).sreachin…

    好文分享 2025年12月21日
    000
  • 在html静态页面中给button加上提交链接的方法介绍

    1、按钮做成链接(图片)的样子提交按钮 提交链接 提交 重置按钮 重置链接 重置 普通按钮 立即学习“前端免费学习笔记(深入)”; 普通链接 链接 至于图片也一样把a标签换成img2、链接做成按钮的样子 注册=> —————&#821…

    好文分享 2025年12月21日
    000
  • html中input框中的radio是否被选中的判断

           少写文字, 直接用代码说话: 男性:女性:testfunction output(){ if(document.getElementById(“male”).checked){alert(“1”);} if(document.getElementById(“female”).check…

    好文分享 2025年12月21日
    000
  • html中关于换行符占空间的解决办法

    如上图:parent的width:600px;            child1和child2的width:300,display:inline-block; 我们希望它们并排显示,但为什么会换行呢? Document 1 2 .parent{ width:600px; border: solid…

    2025年12月21日
    000
  • html页面中如何实现保留空格以及换行符的实例分析

    我们知道,在浏览器对html页面进行渲染显示的时候,会对html文件中的空格和换行符进行处理,这样我们原来写在html文件中的格式化就可能起不到效果,尤其是在我们想展示结构化程序代码时就会遇到问题,如下所示: for i = 1 to 10 print inext i 这样的HTML文件在浏览器上显…

    好文分享 2025年12月21日
    000

发表回复

登录后才能评论
关注微信