帮忙看下这段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 最先执行,是这样吗??
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
创建
script
标签,根据当前网址协议,选择设置不同的地址,然后将这个script
标签插入网页第一个script
标签前。但是最先执行就不一定了,看代码放的位置,可能执行这段代码之前,它前面的其他script
标签已经先执行了。这段代码并没有什么高科技,就是最正常的一种 动态脚本注入 技术。
也算是异步加载js脚本的一种方式,很多按需异步加载就是这么实现的。
关于你说的放在所有script标签前面是没问题的,但是执行顺序不能保证,因为是异步加载,需要通过请求网络下载js脚本文件,触发load事件才能执行。