hugo/docs/content/en/functions/safe/JSStr.md
2023-10-20 09:43:56 +02:00

1.2 KiB

title linkTitle description categories keywords menu function relatedFunctions aliases
safe.JSStr safeJSStr Declares the provided string as a known safe JavaScript string.
functions
docs
parent
functions
aliases returnType signatures
safeJSStr
template.JSStr
safe.JSStr INPUT
safe.CSS
safe.HTML
safe.HTMLAttr
safe.JS
safe.JSStr
safe.URL
/functions/safejsstr

Encapsulates a sequence of characters meant to be embedded between quotes in a JavaScript expression. Use of this type presents a security risk: the encapsulated content should come from a trusted source, as it will be included verbatim in the template output.

Without declaring a variable to be a safe JavaScript string:

{{ $title := "Lilo & Stitch" }}
<script>
  const a = "Title: " + {{ $title }};
</script>

Rendered:

<script>
  const a = "Title: " + "Lilo \u0026 Stitch";
</script>

To avoid escaping by Go's html/template package:

{{ $title := "Lilo & Stitch" }}
<script>
  const a = "Title: " + {{ $title | safeJSStr }};
</script>

Rendered:

<script>
  const a = "Title: " + "Lilo & Stitch";
</script>