dominject

5.9.0 • Public • Published

DOM Inject

Status of the GitHub Workflow: bevry NPM version NPM downloads
GitHub Sponsors donate button ThanksDev donate button Patreon donate button Liberapay donate button Buy Me A Coffee donate button Open Collective donate button crypto donate button PayPal donate button
Discord server badge Twitch community badge

Inject scripts and styles into the DOM with duplicate prevention and completion callback support

Usage

Complete API Documentation.

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: npm install --save dominject
  • Import: import pkg from ('dominject')
  • Require: const pkg = require('dominject').default

Skypack

<script type="module">
    import pkg from '//cdn.skypack.dev/dominject@^5.9.0'
</script>

unpkg

<script type="module">
    import pkg from '//unpkg.com/dominject@^5.9.0'
</script>

jspm

<script type="module">
    import pkg from '//dev.jspm.io/dominject@5.9.0'
</script>

Editions

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 modules
  • dominject/edition-browsers/index.js is ESNext compiled for web browsers with Import for modules
  • dominject aliases dominject/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

TypeScript

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
  }
}

History

Discover the release history by heading on over to the HISTORY.md file.

Backers

Code

Discover how to contribute via the CONTRIBUTING.md file.

Authors

Maintainers

Contributors

Finances

GitHub Sponsors donate button ThanksDev donate button Patreon donate button Liberapay donate button Buy Me A Coffee donate button Open Collective donate button crypto donate button PayPal donate button

Funders

Sponsors

  • 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

Donors

License

Unless stated otherwise all works are:

and licensed under:

Package Sidebar

Install

npm i dominject

Weekly Downloads

262

Version

5.9.0

License

Artistic-2.0

Unpacked Size

47.5 kB

Total Files

9

Last publish

Collaborators

  • bevryme