zoukankan      html  css  js  c++  java
  • 如何让js调用不影响页面的加载速度?

    在WEB页面最常用的语言除了HTML、样式表外就是javascript了,但您知道怎么使用javascript才能不影响页面的加载速度吗?本文就来解决这个疑问,我们先来看看通常js的加载方式:
     
    <script src="xxxx.js"></script>

    我们这样改一下:
    <script type="text/javascript">
    document.write("<scr"+"ipt src=\"xxx.js\"></sc"+"ript>")
    </script>

    以下举例说明:

    比如下面是某站长统计代码,以前尽管是把它放在页面的最底部,但还是拖累页面加载进度。

    <script src="http://s69.cnzz.com/stat.php?id=265381&web_id=265381&show=pic" language="JavaScript" charset="gb2312"></script>

    我们可以把它换成这样的方式来加载(任然放在页面最底部):



    <script type="text/javascript">
    document.write("<scr"+"ipt src=\"xxx.js\"></sc"+"ript>")
    </script>


    的方式,还可实现按需按条件的来加载你要的JS文件:

    <script type="text/javascript">
    if ( "心情好" ) {document.write("<scr"+"ipt src=\"xxx.js\"></sc"+"ript>")}
    </script>

    这样要是"心情不好",就自然不会载入你不想要的JS文件了。


    <script type="text/javascript">
    document.write("<scr"+"ipt src=\"=http://s69.cnzz.com/stat.php?id=265381&web_id=265381&show=pic\" language=\"JavaScript\" charset=\"gb2312\"></sc"+"ript>")
    </script>


    这样速度快多了。


    个人理解原因是:直接包含js解析器会当做文件来加载处理,(会优先下载js文件然后再解析html代码),而用document.write,js文件被当成html代码来解析,(同步加载html文档和js代码)不会影响到整个文档加载。

  • 相关阅读:
    js 跳转链接的几种方式
    js 指定分隔符连接数组元素join()
    Ajax async属性
    非负数正则表达式
    firefox因 HTTP 严格传输安全(HSTS)机制无法打开网页
    查看linux系统某宏的定义(另类)
    ctags高级用法
    ctags简明用法
    关于数组和指针的一道例题的解读
    让gcc和gdb支持intel格式的汇编
  • 原文地址:https://www.cnblogs.com/craig/p/2013429.html
Copyright © 2011-2022 走看看