vue單頁面加載js方法


export function loadScript (url: string[]) {
  // 如果是數組
  const promiseList: Array<Promise<any>> = []
  url.forEach((item) => {
    const p = new Promise((resolve, reject) => {
      const script: any = document.createElement('script')
      script.type = 'text/javascript'
      script.src = item
      script.onload = () => {
        script.onload = null
        script.onerror = null
        resolve()
      }
      script.onerror = () => {
        script.onload = null
        script.onerror = null
        reject()
      }
      const head = document.getElementsByTagName('head')[0];
      (head || document.body).appendChild(script)
    })
    promiseList.push(p)
  })
  return Promise.all(promiseList)
}

使用方法:

 loadScript([
      //融雲庫中的XMLHttpRequest判斷在IOS9中有問題IOS9中為object,融雲判斷的是否為function。2019.10.18
      '/js/libs/RongIMLib-2.3.5.min.js?v2'
    ]).then(() => {
      loadScript([
        '/js/libs/RongEmoji-2.2.7.min.js',
        '/js/libs/Libamr-2.2.5.min.js',
        '/js/libs/RongIMVoice-2.2.6.js'
      ]).then(async () => {
        // do something
      })
    })

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM