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


Posted in Javascript onJuly 01, 2013

发现很多网站在放置百度分享代码的时候,简单的将分享代码放置到固定的网页位置就完事了,这是非常致命的方式。因为,我经常打开一个网页的时候,发现在网页加载到分享代码的时候,有时候花上几秒的时候来请求百度的服务器,最后展示分享按钮。

其实,像这样对网页来说不是非常重要的功能,我们大可以用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标签代码,并不会有多影响网页速度。
百度分享代码通过这样调整后就算百度的服务器挂了,也不会影响自己的网页正常显示。

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

Javascript 相关文章推荐
线路分流自动跳转代码;希望对大家有用!
Dec 02 Javascript
使用jQuery轻松实现Ajax的实例代码
Aug 16 Javascript
16个最流行的JavaScript框架[推荐]
May 29 Javascript
如何用js控制frame的隐藏或显示的解决办法
Mar 20 Javascript
jquery选择器之内容过滤选择器详解
Jan 27 Javascript
基于JavaScript实现TAB标签效果
Jan 12 Javascript
基于JS实现省市联动效果代码分享
Jun 06 Javascript
详解webpack+angular2开发环境搭建
Jun 28 Javascript
vue中如何去掉空格的方法实现
Nov 09 Javascript
微信公众平台 客服接口发消息的实现代码(Java接口开发)
Apr 17 Javascript
微信小程序获取复选框全选反选选中的值(实例代码)
Dec 17 Javascript
小程序中的箭头函数的具体使用
Jun 19 Javascript
jQuery提交多个表单的小例子
Jun 30 #Javascript
用jquery存取照片的具体实现方法
Jun 30 #Javascript
js正文内容高亮效果的实现方法
Jun 30 #Javascript
Jquery网页出现的乱码问题的三种解决方法
Jun 30 #Javascript
JavaScript全排列的六种算法 具体实现
Jun 29 #Javascript
利用js 进行输入框自动匹配字符的小例子
Jun 29 #Javascript
JS Replace()的高级使用方法介绍
Jun 29 #Javascript
You might like
php实现的支持imagemagick及gd库两种处理的缩略图生成类
2014/09/23 PHP
php中return的用法实例分析
2015/02/28 PHP
php递归遍历多维数组的方法
2015/04/18 PHP
在 Laravel 中动态隐藏 API 字段的方法
2019/10/25 PHP
firebug的一个有趣现象介绍
2011/11/30 Javascript
js实现单击图片放大图片的方法
2015/02/17 Javascript
js实现模拟计算器退格键删除文字效果的方法
2015/05/07 Javascript
AngularJS自动表单验证
2016/02/01 Javascript
JavaScript+html5 canvas实现图片破碎重组动画特效
2016/02/22 Javascript
bootstrap表格分页实例讲解
2016/12/30 Javascript
移动端利用H5实现压缩图片上传功能
2017/03/29 Javascript
JS实现微信里判断页面是否被分享成功的方法
2017/06/06 Javascript
关于react中组件通信的几种方式详解
2017/12/10 Javascript
React从react-router路由上做登陆验证控制的方法
2018/05/10 Javascript
性能优化篇之Webpack构建速度优化的建议
2019/04/03 Javascript
一些可能会用到的Node.js面试题
2019/06/15 Javascript
python中精确输出JSON浮点数的方法
2014/04/18 Python
Python将xml和xsl转换为html的方法
2015/03/10 Python
举例讲解Python面向对象编程中类的继承
2016/06/17 Python
python模拟登陆,用session维持回话的实例
2018/12/27 Python
python实现烟花小程序
2019/01/30 Python
python实现整数的二进制循环移位
2019/03/08 Python
详解Django 时间与时区设置问题
2019/07/23 Python
python手写均值滤波
2020/02/19 Python
Python实现播放和录制声音的功能
2020/08/12 Python
CSS3实现淘宝留白的方法
2020/06/05 HTML / CSS
加热夹克:RAVEAN
2018/10/19 全球购物
小学中秋节活动方案
2014/02/06 职场文书
霸王洗发水广告词
2014/03/14 职场文书
学校副校长四风对照检查材料整改措施
2014/09/25 职场文书
离婚协议书范本2014
2014/10/27 职场文书
单方投资意向书
2015/05/11 职场文书
2015年小学教师培训工作总结
2015/07/21 职场文书
2016年心理学教育培训学习心得体会
2016/01/12 职场文书
Go语言实现Base64、Base58编码与解码
2021/07/26 Golang
JavaScript执行机制详细介绍
2021/12/06 Javascript