利用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 相关文章推荐
Jquery Ajax学习实例3 向WebService发出请求,调用方法返回数据
Mar 16 Javascript
jquery tab插件制作实现代码
Jun 22 Javascript
php与js的区别是什么
Aug 05 Javascript
Jquery 的outerHeight方法使用介绍
Sep 11 Javascript
指定区域的图片自动按比例缩小的js代码(防止页面被图片撑破)
Feb 21 Javascript
Javascript中对象继承的实现小例
May 12 Javascript
JavaScript使用forEach()与jQuery使用each遍历数组时return false 的区别
Aug 26 Javascript
jQuery动态移除和添加背景图片的方法详解
Mar 07 Javascript
ES6中的箭头函数实例详解
Apr 06 Javascript
详解vue数组遍历方法forEach和map的原理解析和实际应用
Nov 15 Javascript
Vue前端项目部署IIS的实现
Jan 06 Javascript
JavaScript Window浏览器对象模型原理解析
May 30 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地址引用(php地址引用的效率问题)
2012/03/23 PHP
PHP判断是否为空的几个函数对比
2015/04/21 PHP
PHP下载文件的函数实例代码
2016/05/18 PHP
php版微信开发之接收消息,自动判断及回复相应消息的方法
2016/09/23 PHP
addRule在firefox下的兼容写法
2006/11/30 Javascript
jQuery 获取浏览器所在的IP地址的小例子
2013/11/08 Javascript
使用jQuery设置disabled属性与移除disabled属性
2014/08/21 Javascript
js中this用法实例详解
2015/05/05 Javascript
js实现精美的图片跟随鼠标效果实例
2015/05/16 Javascript
JavaScript清空数组元素的两种方法简单比较
2015/07/10 Javascript
JQuery遍历元素的后代和同胞实现方法
2016/09/18 Javascript
JS常用函数和常用技巧小结
2016/10/15 Javascript
Nodejs多站点切换Htpps协议详解及简单实例
2017/02/23 NodeJs
Angular.js中数组操作的方法教程
2017/07/31 Javascript
React注册倒计时功能的实现
2018/09/06 Javascript
vue解决一个方法同时发送多个请求的问题
2018/09/25 Javascript
vue实现的仿淘宝购物车功能详解
2019/01/27 Javascript
js实现图片推拉门效果代码实例
2019/05/18 Javascript
JS函数动态传递参数的方法分析【基于arguments对象】
2019/06/05 Javascript
python处理中文编码和判断编码示例
2014/02/26 Python
PHP网页抓取之抓取百度贴吧邮箱数据代码分享
2016/04/13 Python
python实现朴素贝叶斯算法
2018/11/19 Python
python 成功引入包但无法正常调用的解决
2020/03/09 Python
Pycharm插件(Grep Console)自定义规则输出颜色日志的方法
2020/05/27 Python
Python如何实现自带HTTP文件传输服务
2020/07/08 Python
Pycharm github配置实现过程图解
2020/10/13 Python
python 实现一个简单的线性回归案例
2020/12/17 Python
html Table 表头固定的实现
2019/01/22 HTML / CSS
深入了解canvas在移动端绘制模糊的问题解决
2019/04/30 HTML / CSS
Roxy荷兰官方网站:冲浪、滑雪板、服装和配件
2019/10/22 全球购物
读群众路线心得体会
2014/03/07 职场文书
2015社区六五普法工作总结
2015/04/21 职场文书
2015年高校教师个人工作总结
2015/05/25 职场文书
安全教育观后感
2015/06/17 职场文书
大学运动会通讯稿
2015/07/18 职场文书
送给自己的励志语句:要安静的优秀,悄无声息的坚强
2019/11/26 职场文书