立即注册
 找回密码
 立即注册

QQ登录

只需一步,快速开始

我逸网

我逸分享各类计算工具和资料
不再需要查找公式和数据

安逸

我逸预设各种计算条件和经验
结果只在少量调整之间

效率

将繁琐交给我逸
我用故

我逸

[百度] 百度自动推送js的原理探析

[复制链接]
发表于 2016-4-10 01:48:42 | 显示全部楼层 |阅读模式
当网站需要提交提交链接给百度时,有主动推送、自动推送和手动推送等几种方式,其中要自动推送时,百度会给出一段js代码,需要添加到网站页面中,进行自动推送。
1、百度提供的自动推送代码为:
<script>
(function(){
    var bp = document.createElement('script');
    bp.src = '//push.zhanzhang.baidu.com/push.js';
    var s = document.getElementsByTagName("script")[0];
    s.parentNode.insertBefore(bp, s);
})();
</script>
2、实际上就是这行一段js代码,在页面中加载push.js文件,经过解析,最终写入的是:
<script type="text/javascript" src="http://push.zhanzhang.baidu.com/push.js"></script>
3、再进一步,打开push.js文件,仍然是一段js执行代码:
!function(){var e=/([http|https]:\/\/[a-zA-Z0-9\_\.]+\.baidu\.com)/gi,r=window.location.href,o=document.referrer;if(!e.test(r)){var n="//api.share.baidu.com/s.gif";o?(n+="?r="+encodeURIComponent(document.referrer),r&&(n+="&l="+r)):r&&(n+="?l="+r);var t=new Image;t.src=n}}(window);
4、格式化以后,可以看到:
!function() {
    var e = /([http|https]:\/\/[a-zA-Z0-9\_\.]+\.baidu\.com)/gi,
    r = window.location.href,
    o = document.referrer;
    if (!e.test(r)) {
        var n = "//api.share.baidu.com/s.gif";
        o ? (n += "?r=" + encodeURIComponent(document.referrer), r && (n += "&l=" + r)) : r && (n += "?l=" + r);
        var t = new Image;
        t.src = n
    }
} (window);
通过一层层的剥离,大家可以明白了,至少可以跳过第一条的js代码,填写第二条就行了。
回复 收藏

使用道具 举报

发表于 2018-9-4 20:42:58 | 显示全部楼层

国外uu,国产uu最新地址开放注册了,网站难找



iujlb03.com
回复 支持 反对 收藏

使用道具 举报

发表于 2018-9-6 21:55:13 | 显示全部楼层
呦呦资源论坛开放注册了!!限时开放注册

iujlb03.com
回复 支持 反对 收藏

使用道具 举报

Archiver|服务支持:DZ动力|  

Powered by Discuz! X3.3© 2001-2013 Comsenz Inc.

Copyright © 2016-2022 我逸网 cmd2d.com All Rights Reserved.
备案号:皖ICP备16004147号-1

beian 皖公网安备 34010302000278号

快速回复 返回顶部 返回列表