loadScript function

Future<ScriptElement> loadScript(
  1. String src, {
  2. String? id,
  3. bool isAsync = true,
  4. bool isDefer = false,
  5. String type = 'text/javascript',
  6. String? integrity,
  7. String? crossOrigin,
})

Include a ScriptElement inside the

Future

Implementation

Future<ScriptElement> loadScript(
  String src, {
  String? id,
  bool isAsync = true,
  bool isDefer = false,
  String type = 'text/javascript',
  String? integrity,
  String? crossOrigin,
}) {
  var element = id != null
      ? document.getElementById(id) as ScriptElement?
      : document.querySelector("script[src='$src']") as ScriptElement?;

  if (element == null) {
    element = ScriptElement()
      ..type = type
      ..async = isAsync
      ..defer = isDefer
      // ignore: unsafe_html
      ..src = src;
    if (id != null) {
      element.id = id;
    }
    if (integrity != null) {
      element.integrity = integrity;
    }
    if (crossOrigin != null) {
      element.crossOrigin = crossOrigin;
    }
    document.head!.append(element);
  }

  return waitLoad<ScriptElement>(element);
}