百度自动推送代码原始版和JS自动推送进化版

作者:猪八逗科技
原始版百度推送代码:

<script>
(function(){
    var bp = document.createElement('script');
    var curProtocol = window.location.protocol.split(':')[0];
    if (curProtocol === 'https') {
        bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';        
    }
    else {
        bp.src = 'http://push.zhanzhang.baidu.com/push.js';
    }
    var s = document.getElementsByTagName("script")[0];
    s.parentNode.insertBefore(bp, s);
})();
</script>

改进版百度推送代码:

<script>
    (function(){
        var canonicalURL, curProtocol;
        //Get the <link> tag
        var x=document.getElementsByTagName("link");
        //Find the last canonical URL
        if(x.length > 0){
            for (i=0;i<x.length;i++){
                if(x[i].rel.toLowerCase() == 'canonical' && x[i].href){
                    canonicalURL=x[i].href;
                }
            }
        }
        //Get protocol
        if (!canonicalURL){
            curProtocol = window.location.protocol.split(':')[0];
        }
        else{
            curProtocol = canonicalURL.split(':')[0];
        }
        //Get current URL if the canonical URL does not exist
        if (!canonicalURL) canonicalURL = window.location.href;
        //Assign script content. Replace current URL with the canonical URL
        !function(){var e=/([http|https]:\/\/[a-zA-Z0-9\_\.]+\.baidu\.com)/gi,r=canonicalURL,t=document.referrer;if(!e.test(r)){var n=(String(curProtocol).toLowerCase() === 'https')?"https://sp0.baidu.com/9_Q4simg2RQJ8t7jm9iCKT-xh_/s.gif":"//api.share.baidu.com/s.gif";t?(n+="?r="+encodeURIComponent(document.referrer),r&&(n+="&l="+r)):r&&(n+="?l="+r);var i=new Image;i.src=n}}(window);})();
</script>

区别:原始版仅仅对于网站没有太多要求的站长来说比较适用,改进版特别适合于自适应网站,如果PC端网页,移动端网页为两个单独程序的话,最好是用原始的。

相关文章: