Skip to main content

How to dynamically load a JS file in JavaScript

How to dynamically load a JS file in JavaScript 




function loadJS(FILE_URL, async = true) {
  let scriptEle = document.createElement("script");

  scriptEle.setAttribute("src", FILE_URL);
  scriptEle.setAttribute("type", "text/javascript");
  scriptEle.setAttribute("async", async);

  document.body.appendChild(scriptEle);

  // success event 
  scriptEle.addEventListener("load", () => {
    console.log("File loaded")
  });
   // error event
  scriptEle.addEventListener("error", (ev) => {
    console.log("Error on loading file", ev);
  });
}
loadJS("file1_path", true);

// If we set async false, file2 is loaded and executed first, then file3 will be loaded 
loadJS("file2_path", false); 
loadJS("file3_path", true);

Comments

Popular posts from this blog

Highlights on my contributions to Odoo Community Association

 Highlights on my contributions to Odoo Community Association For me as a developer working on odoo community and providing services to the customers using the community version of Odoo. Sometimes the solution is available in a module published by OCA that could be an older version of Odoo. As a result, I decided to put my upgraded modules on their repositories as a contributor, and I asked to join them on the mailing list. For them, before I start to make a pull request, I need to sign their ICLA document. ICLA means Odoo Community Association Individual Contributor License Agreement. To upgrade a module to version 17.0 I had to follow the instructions stated on: https://github.com/OCA/maintainer-tools/wiki/Migration-to-version-17.0 Firstly this section: https://github.com/OCA/maintainer-tools/wiki/Migration-to-version-17.0#before-migrating Which needs you to: (1)      Subscribe to OCA mailing list (2)     Sign ICLA as stated above (3)     I...

Create mail alias in odoo

 Create a mail alias in odoo  to solve that error: Explainn in log "create an appopriate mail.alias or force the destination model" Settings  >  Email  >  Aliases  >  add alias email to your domain name Settings >Technical > System Parameters > key: mail.bounce.alias, value: bounce Settings >Technical > System Parameters > key: mail.catchall.alias, value: catchall Settings >Technical > System Parameters > key: mail.catchall.domain, value: example.com