- Qt 6.9
- Qt WebEngine
- QML Types
- WebEngineScriptCollection
- Qt 6.9.1 Reference Documentation

# WebEngineScriptCollection QML Type

Manages a collection of user scripts. More...

Import Statement: | `import QtWebEngine`
Since: | QtWebEngine 6.2

- List of all members, including inherited members

## Properties

- collection : list<WebEngineScript> `(since QtWebEngine 6.2)`

## Methods

- void clear() `(since QtWebEngine 6.2)`
- bool contains(WebEngineScript script) `(since QtWebEngine 6.2)`
- list<WebEngineScript> find(string name) `(since QtWebEngine 6.2)`
- void insert(WebEngineScript script) `(since QtWebEngine 6.2)`
- void insert(list<WebEngineScript> list) `(since QtWebEngine 6.2)`
- bool remove(WebEngineScript script) `(since QtWebEngine 6.2)`

## Detailed Description

WebEngineScriptCollection handles a user scripts collection, which is injected in the JavaScript engine during the loading of web content.

Use WebEgineView.userScripts and WebEngineProfile.userScripts to access the collection of scripts associated with a single page or number of pages sharing the same profile.

The collection of user script objects in QML can be created for a set of user script objects by simple assignment to WebEngineScriptCollection.collection property or by WebEngineScriptCollection methods.

Note: The new user script can be instantiated with JavaScript dictionaries when using collection property.

See the following code snippets demonstrating the usage:

- collection property with JavaScript dictionaries

       var scriptFoo = { name: "Foo",
                       sourceUrl: Qt.resolvedUrl("foo.js"),
                       injectionPoint: WebEngineScript.DocumentReady }

       webEngineView.userScripts.collection = [ scriptFoo, scriptBar ];

- collection property with user script object as value type

       var script = WebEngine.script()
       script.name = "FOO"
       webEngineView.userScripts.collection = [ script ]

- user script collection insert method can be used only with value type or list of value types

       var script = WebEngine.script()
       script.name = "FOO"
       webEngineView.userScripts.insert(script)

       var list = [ script ]
       webEngineView.userScripts.insert(list)

See also WebEngineScript and WebEngineScriptCollection.

## Property Documentation

collection : list<WebEngineScript> `[since QtWebEngine 6.2]`

This property holds a JavaScript array of user script objects. The array can take WebEngineScript basic type or a JavaScript dictionary as values.

This property was introduced in QtWebEngine 6.2.

## Method Documentation

`[since QtWebEngine 6.2]` void clear()

Removes all script objects from this collection.

This method was introduced in QtWebEngine 6.2.

`[since QtWebEngine 6.2]` bool contains(WebEngineScript script)

Returns `true` if the specified script is in the collection, `false` otherwise.

This method was introduced in QtWebEngine 6.2.

See also find().

`[since QtWebEngine 6.2]` list<WebEngineScript> find(string name)

Returns a list of all user script objects with the given name.

This method was introduced in QtWebEngine 6.2.

See also contains().

`[since QtWebEngine 6.2]` void insert(WebEngineScript script)

Inserts a single script into the collection.

This method was introduced in QtWebEngine 6.2.

See also remove().

`[since QtWebEngine 6.2]` void insert(list<WebEngineScript> list)

Inserts a list of WebEngineScript values into the user script collection.

This method was introduced in QtWebEngine 6.2.

See also remove().

`[since QtWebEngine 6.2]` bool remove(WebEngineScript script)

Returns `true` if a given script is removed from the collection.

This method was introduced in QtWebEngine 6.2.

See also insert().