Appends and returns an element with the specified attributes.
Examples:
// using a private function in `onload`
let el = GM_addElement('script', { src: 'https://....' });
el.onload = () => console.log('loaded', el);
// same as GM_addStyle('a { color:red }')
let el = GM_addElement('style', { textContent: 'a { color:red }' });
// appending to an arbitrary node
let el = GM_addElement(parentElement.shadowRoot, 'iframe', { src: url });
A tag name like script
. Any valid HTML tag can be used, but the only motivation for this API was to add script
, link
, style
elements when they are disallowed by a strict Content-Security-Policy
of the site e.g. github.com, twitter.com.
Optional
attributes: Record<string, string>The keys are HTML attributes, not DOM properties, except textContent
which sets DOM property textContent
. The values are strings so if you want to assign a private function to onload
you can do it after the element is created.
The parent node to which the new node will be appended.
It can be inside ShadowDOM: someElement.shadowRoot
.
When omitted, it'll be determined automatically:
document.head
(<head>
) for script
, link
, style
, meta
tags.document.body
(<body>
) for other tags or when there's no <head>
.document.documentElement
(<html>
or an XML root node) otherwise.A tag name like script
. Any valid HTML tag can be used, but the only motivation for this API was to add script
, link
, style
elements when they are disallowed by a strict Content-Security-Policy
of the site e.g. github.com, twitter.com.
Optional
attributes: Record<string, string>The keys are HTML attributes, not DOM properties, except textContent
which sets DOM property textContent
. The values are strings so if you want to assign a private function to onload
you can do it after the element is created.
Appends and returns a <style>
element with the specified CSS.
Adds a change listener to the storage and returns the listener ID.
VM2.19.1
Retrieves a text resource from the Metadata Block.
Name of a resource defined in the Metadata Block.
VM2.19.1
The original console.log
Rest
...args: anyRemoves a change listener by its ID.
VM2.19.1
Unregisters a command which has been registered to Violentmonkey popup menu.
The name of command to unregister.
Aliases for GM_ methods that are not included in Greasemonkey4 API