利用JS延迟加载百度分享代码,提高网页速度

 更新时间:2013年07月01日 12:33:22   作者:  
相信大家经常在一些网站上看到有快捷分享到各大流行网站的按钮,目前流行的有JiaThis、百度分享、Bshare等,目前用百度分享的居多
发现很多网站在放置百度分享代码的时候,简单的将分享代码放置到固定的网页位置就完事了,这是非常致命的方式。因为,我经常打开一个网页的时候,发现在网页加载到分享代码的时候,有时候花上几秒的时候来请求百度的服务器,最后展示分享按钮。

其实,像这样对网页来说不是非常重要的功能,我们大可以用JS来延迟加载,从而提高网页主要内容的快速加载显示。
这里分享下我的放置方式。
一、copy百度分享代码,如下:
复制代码 代码如下:

<!-- Baidu Button BEGIN -->
<div id="bdshare" class="bdshare_t bds_tools_32 get-codes-bdshare">
<a class="bds_tsina"></a>
<a class="bds_qzone"></a>
<a class="bds_tqq"></a>
<a class="bds_renren"></a>
<a class="bds_douban"></a>
<span class="bds_more"></span>
<a class="shareCount"></a>
</div>
<script type="text/javascript" id="bdshare_js" data="type=tools&uid=0" ></script>
<script type="text/javascript" id="bdshell_js"></script>
<script type="text/javascript">
document.getElementById("bdshell_js").src = "http://bdimg.share.baidu.com/static/js/shell_v2.js?cdnversion=" + Math.ceil(new Date()/3600000)
</script>
<!-- Baidu Button END -->

二、放置代码
认真分析上面的分享代码,我们可以发现,其中有3个js脚本标签,这些都是有可能影响网页呈现速度的,最后发现,其实,只有最后一个<script>标签的作用是请求百度服务器,展示分享图片和链接。那么,这条JS我们大可放到最后加载。
下面是我做的一个demo:
复制代码 代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
    <head>
        <title>JS延迟加载百度分享代码,提高网页速度</title>
        <meta http-equiv="Content-Type" content="text/html;charset=gb2312" />
        <style type="text/css">
            body{margin:0px;padding:0px;font-size:12px;}
            #copyright{clear:both;}
        </style>
    </head>

    <body>
        <div id="baidu-share">
            <!-- Baidu Button BEGIN -->
            <div id="bdshare" class="bdshare_t bds_tools_32 get-codes-bdshare">
            <a class="bds_tsina"></a>
            <a class="bds_qzone"></a>
            <a class="bds_tqq"></a>
            <a class="bds_renren"></a>
            <a class="bds_douban"></a>
            <span class="bds_more"></span>
            <a class="shareCount"></a>
            </div>
            <script type="text/javascript" id="bdshare_js" data="type=tools&uid=0" ></script>
            <script type="text/javascript" id="bdshell_js"></script>
            <!-- Baidu Button END -->
        </div>
        <div id="copyright">
            <a href="http://codejia.net">编程图书PDF下载【codejia.net】</a>
        </div>

        <script type="text/javascript">
            window.onload = shareCode;

            function shareCode(){
                document.getElementById("bdshell_js").src = "http://bdimg.share.baidu.com/static/js/shell_v2.js?cdnversion=" + Math.ceil(new Date()/3600000);
            }
        </script>
    </body>
</html>

分析:通过上面的demo,可以发现我只是单纯的将最后一个有src属性的script标签,放到最后动态加载的,并且是在window.onload之后加载。之前加载的都是纯html标签代码,并不会有多影响网页速度。
百度分享代码通过这样调整后就算百度的服务器挂了,也不会影响自己的网页正常显示。

其实,这样的技巧还有很多地方都可以用。想网站统计代码、百度谷歌搜索代码、第三方广告代码等,我们都可以放到网页底部最后来加载,这样即使第三方的服务器宕机,我们自己的机器也不会受到多少影响。

相关文章

  • js动态为代码着色显示行号

    js动态为代码着色显示行号

    使用Javascript插件,在浏览器客户端动态的为代码着色,可以显示行号,具体实现代码如下,感兴趣的朋友可以参考下哈
    2013-05-05
  • webpack 1.x升级过程中的踩坑总结大全

    webpack 1.x升级过程中的踩坑总结大全

    webpack1已结不再维护了,官方在主推webpack2,最近在升级webpack过程中遇到了不少的问题,所以下面这篇文章主要给大家总结了一些在webpack 1.x升级过程中的遇到的坑,以及详细的解决方法,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-08-08
  • 使用JS手写一个类似 Laravel 验证器的表单验证器

    使用JS手写一个类似 Laravel 验证器的表单验证器

    这篇文章主要为大家介绍了使用JS手写一个类似 Laravel 验证器的表单验证器实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • JavaScript中判断为整数的多种方式及保留两位小数的方法

    JavaScript中判断为整数的多种方式及保留两位小数的方法

    这篇文章主要介绍了JavaScript中判断为整数的多种方式,以及保留两位小数的方法,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09
  • 对layui数据表格动态cols(字段)动态变化详解

    对layui数据表格动态cols(字段)动态变化详解

    今天小编就为大家分享一篇对layui数据表格动态cols(字段)动态变化详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • 使用js实现瀑布流效果

    使用js实现瀑布流效果

    这篇文章主要为大家详细介绍了使用js实现瀑布流效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • JS函数节流和函数防抖问题分析

    JS函数节流和函数防抖问题分析

    这篇文章主要介绍了JS函数节流和函数防抖问题分析,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-12-12
  • webpack5 联邦模块介绍详解

    webpack5 联邦模块介绍详解

    这篇文章主要介绍了webpack 5 联邦模块介绍,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • 遍历DOM对象内的元素属性示例代码

    遍历DOM对象内的元素属性示例代码

    如何遍历DOM对象内的元素属性,例如要获取一个id为btn的按钮的所有属性该怎么实现呢?下面有个不错的教程,大家可以参考下
    2014-02-02
  • cookie丢失问题(认证失效) Authentication (用户验证信息)也会丢失

    cookie丢失问题(认证失效) Authentication (用户验证信息)也会丢失

    window.showModalDialog() 后 window.open() 导致cookie丢失问题(认证失效) Authentication (用户验证信息)也会丢失
    2009-06-06

最新评论