利用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 相关文章推荐
等待指定时间后自动跳转或关闭当前页面的js代码
Jul 09 Javascript
js中confirm实现执行操作前弹出确认框的方法
Nov 01 Javascript
每天一篇javascript学习小结(面向对象编程)
Nov 20 Javascript
以WordPress为例讲解jQuery美化页面Title的方法
May 23 Javascript
jquery表单插件form使用方法详解
Jan 20 Javascript
js/jq仿window文件夹框选操作插件
Mar 08 Javascript
轻松理解JavaScript之AJAX
Mar 15 Javascript
javascript 初学教程及五子棋小程序的简单实现
Jul 04 Javascript
vue router嵌套路由在history模式下刷新无法渲染页面问题的解决方法
Jan 25 Javascript
Node.js API详解之 tty功能与用法实例分析
Apr 27 Javascript
javascript实现的图片预览和上传功能示例【兼容IE 9】
May 01 Javascript
Vant+postcss-pxtorem 实现浏览器适配功能
Feb 05 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判断变量类型常用方法
2012/04/24 PHP
用Zend Studio+PHPnow+Zend Debugger搭建PHP服务器调试环境步骤
2014/01/19 PHP
php查询whois信息的方法
2015/06/08 PHP
WordPress中获取指定分类及其子分类下的文章数目
2015/12/31 PHP
laravel学习教程之关联模型
2016/07/30 PHP
javascript function调用时的参数检测常用办法
2010/02/26 Javascript
jquery的clone方法应用于textarea和select的bug修复
2014/06/26 Javascript
JS判断浏览器是否安装flash插件的简单方法
2016/09/13 Javascript
微信小程序 input输入框详解及简单实例
2017/01/10 Javascript
less简单入门(CSS 预处理语言)
2017/03/08 Javascript
Bootstrap学习笔记之进度条、媒体对象实例详解
2017/03/09 Javascript
详解Angular2 之 结构型指令
2017/06/21 Javascript
Vue入门之数据绑定(小结)
2018/01/08 Javascript
vue 自定义全局方法,在组件里面的使用介绍
2018/02/28 Javascript
layui关闭层级、简单监听的实例
2019/09/06 Javascript
[03:49]显微镜下的DOTA2第十五期—VG登基之路完美团
2014/06/24 DOTA
Django REST为文件属性输出完整URL的方法
2017/12/18 Python
Python线性回归实战分析
2018/02/01 Python
Python实现简单生成验证码功能【基于random模块】
2018/02/10 Python
分享一下Python数据分析常用的8款工具
2018/04/29 Python
对python中的pop函数和append函数详解
2018/05/04 Python
解决seaborn在pycharm中绘图不出图的问题
2018/05/24 Python
在python中pandas的series合并方法
2018/11/12 Python
对Django中的权限和分组管理实例讲解
2019/08/16 Python
python with语句的原理与用法详解
2020/03/30 Python
python 如何用urllib与服务端交互(发送和接收数据)
2021/03/04 Python
使用CSS实现阅读进度条
2017/02/27 HTML / CSS
印尼综合在线预订网站:Tiket.com(机票、酒店、火车、租车和娱乐)
2018/10/11 全球购物
澳洲网红粉泥面膜:Sand & Sky
2019/08/13 全球购物
教师求职推荐信范文
2013/11/20 职场文书
2014年教师党员公开承诺书
2014/05/28 职场文书
代领报检证委托书范本
2014/10/11 职场文书
构建和谐校园倡议书
2015/01/19 职场文书
幼儿园感恩节活动总结
2015/03/24 职场文书
公司捐书倡议书
2015/04/27 职场文书
go开发alertmanger实现钉钉报警
2021/07/16 Golang