document.createElement('script')创建的js引用外部脚本如何让它最先加载。
代码是这样的
<html>
<head>
<script>
function bfkfffff(){
var bykf=['kf1','kf2','kf3','kf4','kf5','kf6','kf7','kf8'];//多个备用客服 注意严格按照格式填写
var item = bykf[Math.floor(Math.random()*bykf.length)]
return item;
}
var uuid;
uuid = localStorage.getItem("uuid");
console.log(uuid);
if (typeof (uuid) == 'undefined' || typeof (uuid) == 'null' || typeof (uuid) == '' || uuid == null) {
let ls = randomString()
localStorage.setItem("uuid",ls );
uuid = ls;
}
var ma = document.createElement('script'); ma.type = 'text/javascript'; ma.async = true;
ma.src = 'http://xxxxxx/values/xtjtj?bmid=2&uuid='+uuid;
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ma, s);
function randomString(len) {
len = len || 32;
var $chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678';
var maxPos = $chars.length;
var pwd = '';
for (i = 0; i < len; i++) {
pwd += $chars.charAt(Math.floor(Math.random() * maxPos));
}
return pwd;
}
</script>
我写在html头部了 也正常引用进来的但是不是最先引用的,我主要是想在 html 里面 引用 ><font><Script>document.write(xsssss());</script></font>方法 而这个方法是通过上面的js引用进来的,但是貌似引用这个方法的时候js文件还没有加载进来。如果直接写script src引用,然后放在最前面是没问题的。但是我需要传递一个随机参数过去 所以只能用上面这种方法了。
该问题和 javascript 脚本动态加载时如何检测加载完成 很相似,不过吾辈更推荐
Promise
风格而非使用回调函数。。。可以使用
await
等待脚本加载完毕,例如动态加载 script 脚本的函数 loadScript