Inject scripts and styles into the DOM with duplicate prevention and completion callback support
var dominject = require('dominject')
var element = dominject({
type: 'script',
url: '//some-url.js',
attrs: {}, // attributes to be added to the injected dom element
timeout: 60 * 1000, // defaults to one minute that is allowed before the injection times out
next: function (err, el) {
// completion callback for once the element has completed or error'd
},
}) // returns the element that was injected
- Install:
npm install --save dominject
- Import:
import pkg from ('dominject')
- Require:
const pkg = require('dominject').default
<script type="module">
import pkg from '//cdn.skypack.dev/dominject@^5.9.0'
</script>
<script type="module">
import pkg from '//unpkg.com/dominject@^5.9.0'
</script>
<script type="module">
import pkg from '//dev.jspm.io/dominject@5.9.0'
</script>
This package is published with the following editions:
dominject/source/index.js
is ESNext source code for Node.js 12 || 14 || 16 || 18 || 20 || 21 with Import for modulesdominject/edition-browsers/index.js
is ESNext compiled for web browsers with Import for modulesdominject
aliasesdominject/edition-node-21/index.js
dominject/edition-node-21/index.js
is ESNext compiled for Node.js 4 || 6 || 8 || 10 || 12 || 14 || 16 || 18 || 20 || 21 with Require for modules
This project provides its type information via inline JSDoc Comments. To make use of this in TypeScript, set your maxNodeModuleJsDepth
compiler option to 5
or thereabouts. You can accomplish this via your tsconfig.json
file like so:
{
"compilerOptions": {
"maxNodeModuleJsDepth": 5
}
}
Discover the release history by heading on over to the HISTORY.md
file.
Discover how to contribute via the CONTRIBUTING.md
file.
- 2013+ Benjamin Lupton — Accelerating collaborative wisdom.
- Benjamin Lupton — Accelerating collaborative wisdom.
- Andrew Nesbitt — Software engineer and researcher
- Balsa — We're Balsa, and we're building tools for builders.
- Codecov — Empower developers with tools to improve code quality and testing.
- Poonacha Medappa
- Rob Morris
- Sentry — Real-time crash reporting for your web apps, mobile apps, and games.
- Syntax — Syntax Podcast
- Andrew Nesbitt
- Armen Mkrtchian
- Balsa
- Chad
- Codecov
- dr.dimitru
- Elliott Ditman
- entroniq
- GitHub
- Hunter Beast
- Jean-Luc Geering
- Michael Duane Mooring
- Michael Harry Scepaniak
- Mohammed Shah
- Mr. Henry
- Nermal
- Pleo
- Poonacha Medappa
- Rob Morris
- Robert de Forest
- Sentry
- ServieJS
- Skunk Team
- Syntax
- TopBetta
- Wholesale Blank T-Shirts
- WriterJohnBuck
Unless stated otherwise all works are:
- Copyright © 2013+ Benjamin Lupton
and licensed under: