利用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实多级联动下拉菜单类,简单实现省市区联动菜单!
May 03 Javascript
javascript 获取select下拉列表值的代码
Sep 07 Javascript
flash调用js中的方法,让js传递变量给flash的办法及思路
Aug 07 Javascript
JavaScript中通过提示框跳转页面的方法
Feb 14 Javascript
CSS3 3D 技术手把手教你玩转
Sep 02 Javascript
Angular2 (RC4) 路由与导航详解
Sep 21 Javascript
js实现带缓动动画的导航栏效果
Jan 16 Javascript
easyui 中的datagrid跨页勾选问题的实现方法
Jan 18 Javascript
详解vue的diff算法原理
May 20 Javascript
Vue兼容ie9的问题全面解决方案
Jun 19 Javascript
vue中配置scss全局变量的步骤
Dec 28 Vue.js
详细聊聊vue中组件的props属性
Nov 02 Vue.js
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
信用卡效验程序
2006/10/09 PHP
php中文验证码实现示例分享
2014/01/12 PHP
使用php伪造referer的方法 利用referer防止图片盗链
2014/01/20 PHP
php中$美元符号与Zen Coding冲突问题解决方法分享
2014/05/28 PHP
[原创]php实现子字符串位置相互对调互换的方法
2016/06/02 PHP
PHP基于双向链表与排序操作实现的会员排名功能示例
2017/12/26 PHP
PHP5.5基于mysqli连接MySQL数据库和读取数据操作实例详解
2019/02/16 PHP
6款经典实用的jQuery小插件及源码(对话框/提示工具等等)
2013/02/04 Javascript
cookie的复制与使用记住用户名实现代码
2013/11/04 Javascript
window.onload追加函数使用示例
2014/03/03 Javascript
再JavaScript的jQuery库中编写动画效果的指南
2015/08/13 Javascript
vue.js中$watch的用法示例
2016/10/04 Javascript
js 转义字符及URI编码详解
2017/02/28 Javascript
js实现五星评价功能
2017/03/08 Javascript
详解babel升级到7.X采坑总结
2019/05/12 Javascript
Vue路由守卫之路由独享守卫
2019/09/25 Javascript
详解如何在Javascript和Sass之间共享变量
2019/11/13 Javascript
python实现比较两段文本不同之处的方法
2015/05/30 Python
Python语言实现获取主机名根据端口杀死进程
2016/03/31 Python
Python中的sort()方法使用基础教程
2017/01/08 Python
Python实现中一次读取多个值的方法
2018/04/22 Python
使用Python向DataFrame中指定位置添加一列或多列的方法
2019/01/29 Python
Python提取频域特征知识点浅析
2019/03/04 Python
sklearn+python:线性回归案例
2020/02/24 Python
Python中常用的os操作汇总
2020/11/05 Python
CSS3实现网站商品展示效果图
2020/01/18 HTML / CSS
使用html5 canvas绘制圆环动效
2019/06/03 HTML / CSS
秘鲁购物网站:Linio秘鲁
2017/04/07 全球购物
美国家庭鞋店:Shoe Sensation
2019/09/27 全球购物
大堂副理的岗位职责范文
2014/02/17 职场文书
共青团员自我评价范文
2014/09/14 职场文书
幼儿园小班教师个人工作总结
2015/02/06 职场文书
退休欢送会主持词
2015/07/01 职场文书
C#连接ORACLE出现乱码问题的解决方法
2021/10/05 Oracle
使用python创建股票的时间序列可视化分析
2022/03/03 Python
java实现web实时消息推送的七种方案
2022/07/23 Java/Android