May 30, 2021 Article blog
let scriptsArr = document.getElementsByTagName('script')
let newArr = []
//获取所有的script地址
for (var i = 0; i < scriptsArr.length; i++) {
newArr.push(scriptsArr[i].getAttribute('src', 4))
}
// 创建script标签,引入外部文件
let script = document.createElement('script')
script.type = 'text/javascript'
script.src = url
document.getElementById('app').appendChild(script)
Called in mounted: (must be mounted, cannot be created, must wait for the page to load completely to mount)
let url = '//cktcdn.kaoti100.com/cdn.jsdelivr.net/npm/vue-aplayer/vue-aplayer.js'
this.app_script(url)//初始化给他添加cdn地址
/**
* 获取页面上的所有script地址。来判断是否要加cdn地址
* */
app_script(url) {
let scriptsArr = document.getElementsByTagName('script')
let newArr = []
//获取所有的script地址
for (var i = 0; i < scriptsArr.length; i++) {
newArr.push(scriptsArr[i].getAttribute('src', 4))
}
let isFirst = true //判断是否加载过这个script,有就不加载了
let cdnUrl = url
newArr.forEach(item => {
if (item === cdnUrl) {
isFirst = false
}
})
if (isFirst) {
// 创建script标签,引入外部文件
let script = document.createElement('script')
script.type = 'text/javascript'
script.src = url
document.getElementById('app').appendChild(script)
}
},