load-js-css
Version:
Dynamically load external JavaScript and/or Stylesheets into your page
47 lines (27 loc) • 2.16 kB
Markdown
# Load JS CSS
Dynamically load external JavaScript and/or Stylesheets into your page.
Useful when these assets are not statically known, but determined at runtime.
[](https://github.com/ghybs/load-js-css/releases)
[](https://www.npmjs.com/package/load-js-css)
## API Reference
| Method | Returns | Description |
| :------ | :------- | :---------- |
| **loadJsCss.list**(`<resourceSpec[]>` resources, `<listOptions>` options?) | _N/A_ | Loads the given list of resources. Each resource **must** specify its `type` field in `resourceSpec`. |
| **loadJsCss.js**(`<resourceSpec>` resource) | _N/A_ | Loads the given script. |
| **loadJsCss.css**(`<resourceSpec>` resource) | _N/A_ | Loads the given stylesheet. |
### resourceSpec
Hash map / dictionary with following keys:
| Key | Type | Description |
| :--- | :---- | :---------- |
| **type** | `"script"` or `"stylesheet"` | Used by `loadJsCss.list` to determine the type of resource. Must be specified for `loadJsCss.list` |
| **path** | String | URL (relative or absolute) to the resource. When relative, relative to the current script location. |
| **attrs**? | Object | Hash map / dictionary of extra attributes to apply to the `<script>` or `<link>` tag. E.g. for SRI (integrity and crossorigin attributes). |
| **async**? | Boolean | For script only. Default: `false` (in order to emulate `defer` attribute and maintain a more predictable behaviour, by ensuring execution order is the same as list order) |
### listOptions
Hash map / dictionary with following keys:
| Key | Type | Description |
| :--- | :---- | :---------- |
| **delayScripts** | Number or `false` | Defer loading of scripts after stylesheets, by the given duration (in milliseconds). Useful to try to delay scripts execution _after_ stylesheets are ready (but not bullet proof). |
## License
[](LICENSE)
This library is distributed under the [ISC license](https://choosealicense.com/licenses/isc/).