mirror of
https://gitee.com/hzchunfen/erp.git
synced 2025-12-02 15:10:43 +00:00
65 lines
1.5 KiB
JavaScript
65 lines
1.5 KiB
JavaScript
|
|
/*
|
||
|
|
* @Author: 陈智伟 9459156+chen-kaitao@user.noreply.gitee.com
|
||
|
|
* @Date: 2021-10-05 11:34:34
|
||
|
|
* @LastEditors: 陈智伟 9459156+chen-kaitao@user.noreply.gitee.com
|
||
|
|
* @LastEditTime: 2022-07-23 10:20:28
|
||
|
|
* @FilePath: /glxt/src/util/remoteLoad.js
|
||
|
|
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
||
|
|
*/
|
||
|
|
export default function remoteLoad (url, hasCallback) {
|
||
|
|
return createScript(url)
|
||
|
|
/**
|
||
|
|
* 创建script
|
||
|
|
* @param url
|
||
|
|
* @returns {Promise}
|
||
|
|
*/
|
||
|
|
function createScript (url) {
|
||
|
|
const scriptElement = document.createElement('script')
|
||
|
|
document.body.appendChild(scriptElement)
|
||
|
|
const promise = new Promise((resolve, reject) => {
|
||
|
|
scriptElement.addEventListener(
|
||
|
|
'load',
|
||
|
|
(e) => {
|
||
|
|
removeScript(scriptElement)
|
||
|
|
if (!hasCallback) {
|
||
|
|
resolve(e)
|
||
|
|
}
|
||
|
|
},
|
||
|
|
false
|
||
|
|
)
|
||
|
|
|
||
|
|
scriptElement.addEventListener(
|
||
|
|
'error',
|
||
|
|
(e) => {
|
||
|
|
removeScript(scriptElement)
|
||
|
|
reject(e)
|
||
|
|
},
|
||
|
|
false
|
||
|
|
)
|
||
|
|
|
||
|
|
if (hasCallback) {
|
||
|
|
window.____callback____ = function () {
|
||
|
|
resolve()
|
||
|
|
window.____callback____ = null
|
||
|
|
}
|
||
|
|
}
|
||
|
|
})
|
||
|
|
|
||
|
|
if (hasCallback) {
|
||
|
|
url += '&callback=____callback____'
|
||
|
|
}
|
||
|
|
|
||
|
|
scriptElement.src = url
|
||
|
|
|
||
|
|
return promise
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 移除script标签
|
||
|
|
* @param scriptElement script dom
|
||
|
|
*/
|
||
|
|
function removeScript (scriptElement) {
|
||
|
|
document.body.removeChild(scriptElement)
|
||
|
|
}
|
||
|
|
}
|