我有一个html模板,我想从模板本身之外插入一些JavaScript代码.在我的模板数据结构中,我创建了一个字符串字段JS string并调用它{{.JS}}.问题是浏览器中的所有内容都被转义:
新行是 \n
<并且>是\u003c和\u003e
" 是 \"
模板内的相同符号很好.如果我将我的JS字段打印到控制台,它也没关系.我已经看到一些类似的问题通过使用template.HTML类型而不是string.就我而言,根本不起作用.
编辑1
实际情况是
<script language="JavaScript">
var options = {
{{.JS}}
};
</script>
Run Code Online (Sandbox Code Playgroud)
将字段的类型更改为template.JS,如下所示:
type Tmpl struct {
// ...
JS template.JS
}
Run Code Online (Sandbox Code Playgroud)
或者声明一个简单的函数,将a转换为类似string的template.JS类型:
func toJS(s string) template.JS {
return template.JS(s)
}
Run Code Online (Sandbox Code Playgroud)
然后使用Funcs方法注册该函数并在模板中使用它,如下所示:
{{toJS .JS}}
Run Code Online (Sandbox Code Playgroud)
尝试将 的类型设置JS为template.JS:
import "html/template"
type x struct {
JS template.JS
}
Run Code Online (Sandbox Code Playgroud)
可以在此处找到文档。
| 归档时间: |
|
| 查看次数: |
2543 次 |
| 最近记录: |