亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用 Golang 在 html 模板 (html/template) 中注入

如何使用 Golang 在 html 模板 (html/template) 中注入

Go
一只甜甜圈 2023-02-14 18:17:25
有沒有辦法在 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.


查看完整回答
反對 回復 2023-02-14
  • 1 回答
  • 0 關注
  • 288 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號