Documentation · ViewHelper reference

XSD schema file | vhs 2.1.4

Asset / PrefetchViewHelper

Asset DNS Prefetching ViewHelper

Enables the special <link rel="dns-prefetch" /> tag which instructs the browser to start prefetching DNS records for every domain listed in the domains attribute of this ViewHelper. Prefetching starts as soon as the browser becomes aware of the tag - to optimise even further, you may wish to control the output buffer's size to deliver your site HTML in chunks, the first chunk being the one containing this ViewHelper.

Note that the web server daemon may send headers which prevent this prefetching and that these headers can be added in many ways. If prefetching does not work, you will need to inspect the HTTP headers returned from the actual environment. Or you may prefer to simply add force="TRUE" to this tag - but beware that this will affect the entire document's behaviour, not just for this particular set of domain prefetches. Once force-enabled this setting cannot be disabled (unless done so by manually adding an additional meta header tag as examplified by the build() method.

Example usage:

<v:asset.prefetch domains="," />


  • Tag usage example

    <v:asset.prefetch content="NULL" path="NULL" external="1" name="NULL" overwrite="1" dependencies="NULL" group="'fluid'" debug="1" standalone="1" rewrite="1" fluid="1" variables="[mixed]" allowMoveToFooter="1" trim="1" namedChunks="1" domains="[mixed]" protocol="NULL" protocolSeparator="'//'" force="1">
    	<!-- tag content - may be ignored! -->
  • Inline usage example

    {v:asset.prefetch(content: 'NULL', path: 'NULL', external: 1, name: 'NULL', overwrite: 1, dependencies: 'NULL', group: ''fluid'', debug: 1, standalone: 1, rewrite: 1, fluid: 1, variables: [mixed], allowMoveToFooter: 1, trim: 1, namedChunks: 1, domains: [mixed], protocol: 'NULL', protocolSeparator: ''//'', force: 1)}


Argument Description Type

If TRUE, allows this Asset to be included in the document footer rather than the header. Should never be allowed for CSS.


Content to insert in header/footer


If TRUE, outputs information about this ViewHelper when the tag is used. Two master debug switches exist in TypoScript; see documentation about Page / Asset ViewHelper


CSV list of other named assets upon which this asset depends. When included, this asset will always load after its dependencies


Domain DNS names to prefetch. By default will add all sys_domain record DNS names


If TRUE and standalone, includes the file as raw URL. If TRUE and not standalone then downloads the file and merges it when building Assets


If TRUE, renders this (standalone or external) Asset as if it were a Fluid template, passing along values of the "arguments" attribute or every available template variable if "arguments" not specified


If TRUE, adds an additional meta header tag which forces prefetching to be enabled even if otherwise requested by the http daemon


Optional name of a logical group (created dynamically just by using the name) to which this particular asset belongs.


Optional name of the content. If multiple occurrences of the same name happens, behavior is defined by argument "overwrite"


If FALSE, hides the comment containing the name of each of Assets which is merged in a merged file. Disable to avoid a bit more output at the cost of transparency


If set to FALSE and a relocated string with "name" already exists, does not overwrite the existing relocated string. Default behavior is to overwrite.


If not using tag content, specify path to file here


Optional value of protocol as inserted in the resulting HREF value. If you experience problems with a non-protocol link, try enforcing http/https here


If you do not enforce a particular protocol and wish to remove the double slashes from the hostname (your browser may not understand this!), set this attribute to an empty value (not-zero)


If FALSE, this Asset will be included as is without any processing of contained urls


If TRUE, excludes this Asset from any concatenation which may be applied


DEPRECATED. Trim is no longer supported. Setting this to TRUE doesn't do anything.


An optional array of arguments which you use inside the Asset, be it standalon or inline. Use this argument to ensure your Asset filenames are only reused when all variables used in the Asset are the same

Required attribute

Revision history

commit bb2befa2b3015236530fc4cd834e896d635d1f7c
Author: Claus Due <*****>
Date:   Sat Apr 20 13:31:29 2013 +0200

    [FEATURE] Asset DNS Prefetch ViewHelper
    This is a special type of Asset which only generates a `<link rel="dns-prefetch" href="…" />` tag for each domain given in the `domains´ attribute (mixed, supports CSV and Iterators).

commit da31bad1d9bb058c072ddb5591e8ed907a1ae8e1
Author: Claus Due <*****>
Date:   Tue Dec 31 23:08:37 2013 +0100

    [TASK] Happy new year!

commit d2e531da034976e6db1478eef5a8478595fd16fe
Author: Claus Due <*****>
Date:   Sun Jan 5 00:45:10 2014 +0100

    [TASK] Migrate to using namespace core class names

commit 52bd6e41ccfef3d8193b350153912a9716e6a087
Author: Benjamin Rau <*****>
Date:   Tue Apr 1 21:09:00 2014 +0200

    [TASK] CGL compliance

commit da7677bc74f14e9a9300e4ba4487e52c3cb97642
Author: Claus Due <*****>
Date:   Sun Apr 20 01:13:33 2014 +0200

    [TASK] Switch to namespaces

commit 4981055359c895f3869e5bd878293b3c15ed26e5
Author: Xaver Maierhofer <*****>
Date:   Sun Jan 18 14:01:04 2015 +0100

    [TASK] CGL - Define classes, params, use imports

commit 8bb2fc5ee124ba19b0a0ab8e061c9a153fc4651f
Author: Xaver Maierhofer <*****>
Date:   Sun Jan 18 17:56:13 2015 +0100

    [TASK] Reference Copyright to file