# bit-form/2.9.1/includes/Admin/Form/InitJs/ScriptLoader.php

Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator &amp; Custom Form Builder, version 2.9.1. 36 lines.

- Page: https://pluginprobe.com/plugins/bit-form/2.9.1/code/includes/Admin/Form/InitJs/ScriptLoader.php
- Raw: https://pluginprobe.com/plugins/bit-form/2.9.1/raw/includes/Admin/Form/InitJs/ScriptLoader.php
- Modified: 2023-07-25T12:57:20+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/bit-form/2.9.1/code/includes/Admin/Form/InitJs/ScriptLoader.php#L10-L20`.

```php
<?php

namespace BitCode\BitForm\Admin\Form\InitJs;

class ScriptLoader
{
  public static function init()
  {
    return <<<SCRIPT_LOADER
    function scriptLoader(src, integrity, attrs, id, initFunc) {
      const script =  document.createElement('script');
      script.src = src;
      script.id = id;
      if(integrity){
        script.integrity = integrity;
        script.crossOrigin = 'anonymous';
      }
      if(attrs){
        Object.entries(attrs).forEach(function([key, val]){
          script.setAttribute(key,val);
        })
      }
      script.onload = function () {
          initFunc && initFunc();
      };
      var alreadyExistScriptElm = document.querySelector('script#'+id);
      if(alreadyExistScriptElm){
        initFunc && initFunc();
      } else {
        document.body.appendChild(script);
      }
    }
SCRIPT_LOADER;
  }
}

```
