提高网页打开速度的方法

如果一次载入所有需要的JavaScript代码会造成初始网页打开速度变慢,而且很多载入的代码并不需要使用,这种无谓的性能浪费应该 避免。如果要动态载入JavaScript代码,可以利用DOM模型在HTML文档中添加<script>结点,并将此结点的src属性(即 外联 Javascript文件)设置为需要动态载入的JavaScript代码。

下面是一个完成这样功能的例子。

(1)、新建JsLoaderTest.html文件

Java代码  

  1. <html xmlns="http://www.w3.org/1999/xhtml">
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
  4. <title>按需载入JavaScript代码的例子</title>
  5. <script type="text/javascript">
  6. function JsLoader(){
  7. this.load=function(url){
  8. //获取所有的<script>标记
  9. var ss=document.getElementsByTagName("script");
  10. //判断指定的文件是否已经包含,如果已包含则触发onsuccess事件并返回
  11. for (i=0;i<ss.length;i++){
  12. if (ss[i].src && ss[i].src.indexOf(url)!=-1){
  13. this.onsuccess();
  14. return;
  15. }
  16. }
  17. //创建script结点,并将其属性设为外联JavaScript文件
  18. s=document.createElement("script");
  19. s.type="text/javascript";
  20. s.src=url;
  21. //获取head结点,并将<script>插入到其中
  22. var head=document.getElementsByTagName("head")[0];
  23. head.appendChild(s);
  24. //获取自身的引用
  25. var self=this;
  26. //对于IE浏览器,使用readystatechange事件判断是否载入成功
  27. //对于其他浏览器,使用onload事件判断载入是否成功
  28. //s.onload=s.onreadystatechange=function(){
  29. s.onload=s.onreadystatechange=function(){
  30. //在此函数中this指针指的是s结点对象,而不是JsLoader实例,
  31. //所以必须用self来调用onsuccess事件,下同。
  32. if (this.readyState && this.readyState=="loading") return;
  33. self.onsuccess();
  34. }
  35. s.onerror=function(){
  36. head.removeChild(s);
  37. self.onfailure();
  38. }
  39. };
  40. //定义载入成功事件
  41. this.onsuccess=function(){};
  42. //定义失败事件
  43. this.onfailure=function(){};
  44. }
  45. function btnClick(){
  46. //创建对象
  47. var jsLoader=new JsLoader();
  48. //定义载入成功处理程序
  49. jsLoader.onsuccess=function(){
  50. sayHello();
  51. }
  52. //定义载入失败处理程序
  53. jsLoader.onfailure=function(){
  54. alert("文件载入失败!");
  55. }
  56. //开始载入
  57. jsLoader.load("hello.js");
  58. }
  59. </script>
  60. </head>
  61. <body>
  62. <label>
  63. <input type="submit" name="Submit" onClick="javascript:btnClick()" value="载入JavaScript文件">
  64. </label>
  65. </body>
  66. </html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>按需载入JavaScript代码的例子</title>
<script type="text/javascript">
    function JsLoader(){

   this.load=function(url){
            //获取所有的<script>标记
            var ss=document.getElementsByTagName("script");
            //判断指定的文件是否已经包含,如果已包含则触发onsuccess事件并返回
            for (i=0;i<ss.length;i++){
                if (ss[i].src && ss[i].src.indexOf(url)!=-1){
                    this.onsuccess();
                    return;
                }
            }
            //创建script结点,并将其属性设为外联JavaScript文件
            s=document.createElement("script");
            s.type="text/javascript";
            s.src=url;
            //获取head结点,并将<script>插入到其中
            var head=document.getElementsByTagName("head")[0];
            head.appendChild(s);

            //获取自身的引用
            var self=this;
            //对于IE浏览器,使用readystatechange事件判断是否载入成功
            //对于其他浏览器,使用onload事件判断载入是否成功
            //s.onload=s.onreadystatechange=function(){
            s.onload=s.onreadystatechange=function(){
                //在此函数中this指针指的是s结点对象,而不是JsLoader实例,
                //所以必须用self来调用onsuccess事件,下同。
                if (this.readyState && this.readyState=="loading") return;
                self.onsuccess();
            }
            s.onerror=function(){
                head.removeChild(s);
                self.onfailure();
            }
        };
        //定义载入成功事件
        this.onsuccess=function(){};
        //定义失败事件
        this.onfailure=function(){};
    }

    function btnClick(){
            //创建对象
        var jsLoader=new JsLoader();

        //定义载入成功处理程序
        jsLoader.onsuccess=function(){
             sayHello();
        }

        //定义载入失败处理程序
        jsLoader.onfailure=function(){
             alert("文件载入失败!");
        }

        //开始载入
        jsLoader.load("hello.js");
    }

</script>
</head>

<body>
<label>
<input type="submit" name="Submit" onClick="javascript:btnClick()" value="载入JavaScript文件">
</label>
</body>
</html>

(2)、新建hello.js文件,包含如下代码:

Java代码  

  1. // JavaScript Document
  2. function sayHello(){
  3. alert("Hello World!成功载入JavaScript文件");
  4. }
// JavaScript Document
function sayHello(){
    alert("Hello World!成功载入JavaScript文件");
}

提高网页打开速度的方法,布布扣,bubuko.com

时间: 2024-10-01 05:16:30

提高网页打开速度的方法的相关文章

C#提高网站打开速度的方法

一般讲到一个好的网站,一般都是需要几点,打开速度快,非常美观,操作方法,网站排名好,今天我们主要来讲一下网站打开速度快的解决方法,由于现在制作网站使用的开发语言是asp.net(C#)比较多,所以我们今天主要根据asp.net来讲. 一.浏览器端优化1.压缩网页一般情况下,正常一个网页我们都是需要讲排版格式规范,这样网站开发速度比较快,而且注释也方便写,技术人员一看就懂,但是在网页上面我们就不需要这些了,注释,还有规范的格式会增加网页容量的大小,容量越大打开速度越慢,所以我们在做网页的时候去格式

提高网站打开速度的7大秘籍(转)

很多站长使用虚拟主机来做网站,网页内容一旦很多,网站打开速度就会特别慢,如果说服务器.带宽.CDN这类硬指标我们没有经济实力去做,不妨通过网页代码优化的方式来提高速度,卢松松总结了一些可行性的方法. 1: 缩小Javascript和CSS文件 如果你的网站大约有50-60%的用户是第一次访客,那么这些人会下载Javascript和CSS,如果这些文件很大浏览器会下载很长时间. 使用压缩工具可以减少Javascript和CSS尽一半的文件大小,如果你有信心使用“命令行”我强烈推荐使用雅虎的YUI压

提高网站打开速度的7大秘籍

很多站长使用虚拟主机来做网站,网页内容一旦很多,网站打开速度就会特别慢,如果说服务器.带宽.CDN这类硬指标我们没有经济实力去做,不妨通过网页代码优化的方式来提高速度,卢松松总结了一些可行性的方法. 1: 缩小Javascript和CSS文件 如果你的网站大约有50-60%的用户是第一次访客,那么这些人会下载Javascript和CSS,如果这些文件很大浏览器会下载很长时间. 使用压缩工具可以减少Javascript和CSS尽一半的文件大小,如果你有信心使用“命令行”我强烈推荐使用雅虎的YUI压

小技巧:利用QUIC提升Chrome浏览器网页打开速度

个人因为比较偏爱轻盈小巧不臃肿的软件,所以浏览器一直用谷歌的Chrome.近几年因为其启动和打开网页速度快等诸多优点,被广大国内用户喜爱,并迅速在国内市场占据一定的份额. 这里和大家分享一个可以提升Chrome网页打开速度的小技巧 首先,打开Chrome浏览器,在地址栏里输入:Chrome://flags 然后找到QUIC协议标签,可以按"CTRL+F"快速定位. Chrome截图 把选项"默认"改为"已启用".所做的更改会在下次重新启动 Goo

如何让你的网页打开速度降低到 1s 内

还记得图片延迟加载方案 那篇博文吗?当初分析了 定宽高值 和 定宽高比 这两种常见的图片延迟加载场景,也介绍了他们的应对方案,还做了一点技术选型的工作. 经过一段时间的项目实践,在先前方案的基础上又做了很多深入的优化工作.最终将好奇心日报的网页打开速度将降低到了1s内,Web端和Mobile端加载3屏数据消耗的流量也大幅降低. 模拟WIFI条件下的网页加载 该篇文章结合具体的项目实践,将围绕如何更快的访问网页展开,细化到具体的技术方案,以及实践中可能遇到的坑,希望对大家有一定的启发和帮助. 为什

网页打开速度的心理学(转)

网页打开的最佳速度 2秒! 许多研究都表明,用户最满意的打开网页时间,是在2秒以下.用户能够忍受的最长等待时间的中位数,在6-8秒之间.这就是说,8秒是一个临界值,如果你的网站打开速度在8秒以上,那么很可能,大部分访问者最终都会离你而去. 研究显示,如果等待12秒以后,网页还是没有载入,那么99%以上的用户会关闭这个网页,不再等待. 但是,如果在等待载入期间,网站能够向用户显示反馈消息,比如一个进度条,那么用户可以忍受的时间会延长到38秒. 对访问者的心理影响 根据一些抽样调查,访问者倾向于认为

如何有效减少网页加载时间?20个提高网站访问速度的方法

网友上网都不喜欢用太多的时间等待网页的打开,等待的越长,用户可能会直接关闭网页,这样就会损失很多流量!其次,关键字的排名与网页的打开速度也有关系,这个主要体现搜索引擎对用户体验度上,用户体验度好,排名相对其它网站就好些.因此我觉得我们有必要去提高网页的打开速度,这个不需要太多的成本投入,只需要平时多注意一些小技巧就行了!下面给出20种方法帮你提高网站访问速度缩短网页加载时间. 1.减少页面HTTP请求数量 比较直接的理解就是要减少调用其他页面.文件的数量. A.我们在使用css格式控制的时候,经

提升网页打开速度的实用方法

网站访问速度可以直接影响到网站的流量,而网站的访问量几乎与网站的利益直接挂钩,因此网站的速度问题成为企业及站长十分关注的问题.现在网站越来越多,不少朋友的网站打开速度很不理想.也许自己打开网站速度很快,别人打开自己网站却反映速度满.这有可能是因为网通和电信等线路问题造成的,但大部分是由于大家网站自身的问题影响了速度.如何提高网站访问速度呢?下面谈一下一些关键的问题和解决方法. 很多人都用虚拟主机来做网站,将网页文件存放在虚拟空间上,但是页面内容一多,网站打开的速度就显得特别慢,如果您碰到这种情况

提高网站打开速度的7大秘籍---依据Yslow工具的优化【转】

很多站长使用虚拟主机来做网站,网页内容一旦很多,网站打开速度就会特别慢,如果说服务器.带宽.CDN这类硬指标我们没有经济实力去做,不妨通过网页代码优化的方式来提高速度,卢松松总结了一些可行性的方法. 1: 缩小Javascript和CSS文件       如果你的网站大约有50-60%的用户是第一次访客,那么这些人会下载Javascript和CSS,如果这些文件很大浏览器会下载很长时间. 使用压缩工具可以减少Javascript和CSS尽一半的文件大小,如果你有信心使用“命令行”我强烈推荐使用雅