有沒有辦法在 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>"}) ...呈現(xiàn)的 html 輸出:...<head> "<script>console.log('Hello World!');</script>"</head>...預(yù)期產(chǎn)出<head> <script>console.log('Hello World!');</script> // And should log Hello World! in the console.</head>
1 回答

蕭十郎
TA貢獻1815條經(jīng)驗 獲得超13個贊
假設(shè)您使用的是 html/template 包,這是預(yù)期的行為。常規(guī)字符串不應(yīng)該能夠注入 HTML/JS 代碼。
如果您信任內(nèi)容,您可以使用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 關(guān)注
- 306 瀏覽
添加回答
舉報
0/150
提交
取消