利用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 相关文章推荐
IE8 下的Js错误HTML Parsing Error...
Aug 14 Javascript
javascript获得网页窗口实际大小的示例代码
Sep 21 Javascript
js 左右悬浮对联广告特效代码
Dec 12 Javascript
什么是MEAN?JavaScript编程中的MEAN是什么意思?
Dec 18 Javascript
jQuery实现自定义checkbox和radio样式
Jul 13 Javascript
jQuery实现的仿select功能代码
Aug 19 Javascript
js禁止浏览器的回退事件
Apr 20 Javascript
Vue from-validate 表单验证的示例代码
Sep 26 Javascript
js数组去重的N种方法(小结)
Jun 07 Javascript
JS删除String里某个字符的方法
Jan 06 Javascript
vue cli3 调用百度翻译API翻译页面的实现示例
Sep 13 Javascript
vue路由分文件拆分管理详解
Aug 13 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网站在线人数统计
2008/04/09 PHP
解析PHP可变函数的经典用法
2013/06/20 PHP
php简单创建zip压缩文件的方法
2016/04/30 PHP
Ajax实现对静态页面的文章访问统计功能示例
2016/10/10 PHP
PHP标准库 (SPL)――Countable用法示例
2020/06/05 PHP
基于jquery+thickbox仿校内登录注册框
2010/06/07 Javascript
JavaScript动态添加列的方法
2015/03/25 Javascript
javascript实现label标签跳出循环操作
2016/03/06 Javascript
详解vue之页面缓存问题(基于2.0)
2017/01/10 Javascript
JS简单实现获取元素的封装操作示例
2017/04/07 Javascript
Vue2单一事件管理组件通信
2017/05/09 Javascript
Angular.js指令学习中一些重要属性的用法教程
2017/05/24 Javascript
详解基于 axios 的 Vue 项目 http 请求优化
2017/09/04 Javascript
shiro授权的实现原理
2017/09/21 Javascript
webpack external模块的具体使用
2018/03/10 Javascript
AngularJS 监听变量变化的实现方法
2018/10/09 Javascript
原生JS实现动态添加新元素、删除元素方法
2019/05/05 Javascript
python实现数值积分的Simpson方法实例分析
2015/06/05 Python
python获取代码运行时间的实例代码
2018/06/11 Python
Python unittest单元测试框架总结
2018/09/08 Python
python取数作为临时极大值(极小值)的方法
2018/10/15 Python
numpy.where() 用法详解
2019/05/27 Python
selenium跳过webdriver检测并模拟登录淘宝
2019/06/12 Python
Selenium关闭INFO:CONSOLE提示的解决
2020/12/07 Python
用python获取txt文件中关键字的数量
2020/12/24 Python
安装python依赖包psycopg2来调用postgresql的操作
2021/01/01 Python
美国Rue La La闪购网站:奢侈品、中高档品牌限时折扣
2016/10/19 全球购物
英国山地公路自行车商店:Tweeks Cycles
2018/03/16 全球购物
接口的多继承会带来哪些问题
2015/08/17 面试题
2014预备党员党课学习心得范文
2014/07/08 职场文书
学校安全管理责任书
2014/07/23 职场文书
超市周年庆活动方案
2014/08/16 职场文书
弄虚作假心得体会
2014/09/10 职场文书
小学生运动会报道稿
2014/09/12 职场文书
单方离婚协议书范本2014
2014/10/28 职场文书
小程序实现悬浮按钮的全过程记录
2021/10/16 HTML / CSS