Details of a user script

interface UserScriptOptions {
    allFrames?: boolean;
    cookieStoreId?: string | string[];
    excludeGlobs?: string[];
    excludeMatches?: string[];
    includeGlobs?: string[];
    js: ExtensionFileOrCode[];
    matchAboutBlank?: boolean;
    matches: string[];
    runAt?: RunAt;
    scriptMetadata?: PlainJSONValue;
}
Index
allFrames?: boolean

If allFrames is true, implies that the JavaScript should be injected into all frames of current page. By default, it's false and is only injected into the top frame.

cookieStoreId?: string | string[]

limit the set of matched tabs to those that belong to the given cookie store id

excludeGlobs?: string[]
excludeMatches?: string[]
includeGlobs?: string[]

The list of JS files to inject

matchAboutBlank?: boolean

If matchAboutBlank is true, then the code is also injected in about:blank and about:srcdoc frames if your extension has access to its parent document. Code cannot be inserted in top-level about:-frames. By default it is false.

matches: string[]
runAt?: RunAt

The soonest that the JavaScript will be injected into the tab. Defaults to "document_idle".

scriptMetadata?: PlainJSONValue

An opaque user script metadata value