mount-script
Version:
A simple function for mounting javascript
8 lines (7 loc) • 755 B
JavaScript
/*!
* mount-script v1.2.0
* A simple function for mounting javascript
* (c) 2021-2023 saqqdy<https://github.com/saqqdy>
* Released under the MIT License.
*/
this.mountScript=function(){"use strict";return function(e,r){if(void 0===r&&(r={}),!e)throw new Error("[mountScript]: url is required");var t=r.attrs,n=r.props,o=r.force,c=void 0!==o&&o;return new Promise((function(r,o){if(c||!document.querySelector('script[src="'.concat(e,'"]'))){var i,a,d=document.createElement("script");if(t)for(i in t)d[i]=t[i];if(n)for(a in n)d[a]=n[a];d.src=e,document.body.appendChild(d),d.onload=d.onreadystatechange=function(){d.readyState&&!["loaded","complete"].includes(d.readyState)||(d.onload=d.onreadystatechange=null,r(!0))},d.onerror=o}else r(!0)}))}}();