猿问

帮忙看下这段js的用意?是关于百度自动提交链接的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>

这段代码的意思是不是:外部引用js文件(2选1),并且放在所有script标签前面,也就是要求这个js 最先执行,是这样吗??


智慧大石
浏览 1785回答 2
2回答

炎炎设计

这段代码并没有什么高科技,就是最正常的一种 动态脚本注入 技术。也算是异步加载js脚本的一种方式,很多按需异步加载就是这么实现的。关于你说的放在所有script标签前面是没问题的,但是执行顺序不能保证,因为是异步加载,需要通过请求网络下载js脚本文件,触发load事件才能执行。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答