gpt4 book ai didi

go - 如何阻止html模板转义

转载 作者:IT王子 更新时间:2023-10-29 01:16:40 28 4
gpt4 key购买 nike

我有一个 html 模板,我想从模板本身外部插入一些 JavaScript 代码。在我的模板数据结构中,我创建了一个字符串字段 JS string并用 {{.JS}} 调用它.问题是浏览器中的所有内容都被转义了:

换行符是 \n

<>\u003c\u003e

"\"

模板内的相同符号没问题。如果我打印我的 JS进入控制台也可以。我已经看到使用 template.HTML 解决了一些类似的问题输入而不是 string .就我而言,它根本不起作用。

编辑 1

实际上下文是

<script language="JavaScript">
var options = {
{{.JS}}
};
</script>

最佳答案

要么将字段类型更改为 template.JS像这样:

type Tmpl struct {
// ...
JS template.JS
}

或者声明一个简单的函数,将 string 转换为 template.JS 类型,如下所示:

func toJS(s string) template.JS {
return template.JS(s)
}

然后用Funcs注册函数方法并像这样在您的模板中使用它:

{{toJS .JS}}

关于go - 如何阻止html模板转义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44009102/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com