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