有沒有辦法在 Golang html 模板 ( ) 中將 Javascript 作為變量注入html/template。我期待腳本被注入到模板中,但是腳本被作為字符串注入到".模板.html...<head> {{ .myScript }}</head>...解析器.go ... fp := path.Join("dir", "shop_template.html") tmpl, err := template.ParseFiles(fp) if err != nil { return err } return tmpl.Execute(writer, myObject{Script: "<script>console.log('Hello World!');</script>"}) ...呈現的 html 輸出:...<head> "<script>console.log('Hello World!');</script>"</head>...預期產出<head> <script>console.log('Hello World!');</script> // And should log Hello World! in the console.</head>
1 回答

蕭十郎
TA貢獻1815條經驗 獲得超13個贊
假設您使用的是 html/template 包,這是預期的行為。常規字符串不應該能夠注入 HTML/JS 代碼。
如果您信任內容,您可以使用template.JS或template.HTML類型注入 JS 和 HTML 代碼。
return tmpl.Execute(writer, myObject{
Script: template.HTML("<script>console.log('Hello World!');</script>")})
當然,你需要聲明:
type myObject struct {
Script template.HTML
...
}
而不是string.
- 1 回答
- 0 關注
- 288 瀏覽
添加回答
舉報
0/150
提交
取消