Asset.script ViewHelper <f:asset.script>

ViewHelper to add JavaScript to the TYPO3 AssetCollector. Either a file or inline JavaScript can be added.

Examples

<f:asset.script identifier="identifier123" src="EXT:my_ext/Resources/Public/JavaScript/foo.js" />
<f:asset.script identifier="identifier123">
   alert('hello world');
</f:asset.script>
Copied!

Details

In the AssetCollector, the "identifier" attribute is used as a unique identifier. Thus, if assets are added multiple times using the same identifier, the asset will only be served once (the last added overrides previous assets).

Some available attributes are defaults but do not make sense for this ViewHelper. Relevant attributes specific for this ViewHelper are: async, crossorigin, defer, integrity, nomodule, nonce, referrerpolicy, src, type.

Source code

Go to the source code of this ViewHelper: ScriptViewHelper.php (GitHub).

Arguments

The following arguments are available for <f:asset.script>:

Name Type Default
mixed
mixed
mixed
string
string
string
string
string
string
string
integer
string
boolean
string
boolean
string
boolean
string
string
string
string
boolean
string
boolean
additionalAttributes
Type
mixed
Required

true

Additional tag attributes. They will be added directly to the resulting HTML tag.

data
Type
mixed
Required

true

Additional data-* attributes. They will each be added with a "data-" prefix.

aria
Type
mixed
Required

true

Additional aria-* attributes. They will each be added with a "aria-" prefix.

class
Type
string
Required

true

CSS class(es) for this element

dir
Type
string
Required

true

Text direction for this HTML element. Allowed strings: "ltr" (left to right), "rtl" (right to left)

id
Type
string
Required

true

Unique (in this file) identifier for this HTML element.

lang
Type
string
Required

true

Language for this element. Use short names specified in RFC 1766

style
Type
string
Required

true

Individual CSS styles for this element

title
Type
string
Required

true

Tooltip text of element

accesskey
Type
string
Required

true

Keyboard shortcut to access this element

tabindex
Type
integer
Required

true

Specifies the tab order of this element

onclick
Type
string
Required

true

JavaScript evaluated for the onclick event

async
Type
boolean
Required

true

Define that the script will be fetched in parallel to parsing and evaluation.

crossorigin
Type
string
Required

true

Define how to handle crossorigin requests.

defer
Type
boolean
Required

true

Define that the script is meant to be executed after the document has been parsed.

integrity
Type
string
Required

true

Define base64-encoded cryptographic hash of the resource that allows browsers to verify what they fetch.

nomodule
Type
boolean
Required

true

Define that the script should not be executed in browsers that support ES2015 modules.

nonce
Type
string
Required

true

Define a cryptographic nonce (number used once) used to whitelist inline styles in a style-src Content-Security-Policy.

referrerpolicy
Type
string
Required

true

Define which referrer is sent when fetching the resource.

src
Type
string
Required

true

Define the URI of the external resource.

type
Type
string
Required

true

Define the MIME type (usually 'text/javascript').

useNonce
Type
boolean
Required

true

Whether to use the global nonce value

identifier
Type
string
Required

true

Use this identifier within templates to only inject your JS once, even though it is added multiple times.

priority
Type
boolean
Required

true

Define whether the JavaScript should be put in the <head> tag above-the-fold or somewhere in the body part.