function loadScript()

in packages/lowcode-plugin-inject/src/utils.tsx [107:121]


function loadScript(url, callback) {
  const src = ((_url) => {
    const isInFileProtocol = _url.indexOf('//') === 0 && window.location.protocol === 'file:';
    return isInFileProtocol ? `//${_url}` : _url;
  })(url);
  const scriptElement = document.createElement('script');
  scriptElement.crossOrigin = 'anonymous';
  scriptElement.src = src;
  scriptElement.async = true;
  if (callback) {
    scriptElement.onload = () => callback();
    scriptElement.onerror = () => callback(new Error(`Inject ${url} failed`));
  }
  document.body.insertBefore(scriptElement, document.body.firstChild);
}