Documentation · ViewHelper reference

XSD schema file | vhs master

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="fedext.net,ajax.google.com" />

See: https://developer.mozilla.org/en-US/docs/ControllingDNSprefetching

/

  • 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]" movable="1" trim="1" namedChunks="1" domains="[mixed]" protocol="NULL" protocolSeparator="'//'" force="1">
    	<!-- tag content - may be ignored! -->
    </v:asset.prefetch>
  • 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], movable: 1, trim: 1, namedChunks: 1, domains: [mixed], protocol: 'NULL', protocolSeparator: ''//'', force: 1)}

Arguments

Argument Description Type
content

Content to insert in header/footer

string
debug

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

boolean
dependencies

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

string
domains

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

mixed
external

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

boolean
fluid

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

boolean
force

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

boolean
group

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

string
movable

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

boolean
name

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

string
namedChunks

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

boolean
overwrite

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

boolean
path

If not using tag content, specify path to file here

string
protocol

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

string
protocolSeparator

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)

string
rewrite

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

boolean
standalone

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

boolean
trim

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

boolean
variables

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

mixed
Required attribute

Revision history

commit bb2befa2b3015236530fc4cd834e896d635d1f7c
Author: Claus Due <*****@wildside.dk>
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 <*****@namelesscoder.net>
Date:   Tue Dec 31 23:08:37 2013 +0100

    [TASK] Happy new year!

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

    [TASK] Migrate to using namespace core class names

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

    [TASK] CGL compliance

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

    [TASK] Switch to namespaces

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

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

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

    [TASK] Reference Copyright to license.md file